gpt4 book ai didi

r - 使用 dplyr 按组添加零计数

转载 作者:行者123 更新时间:2023-12-02 03:12:54 25 4
gpt4 key购买 nike

我有一个非常大的数据框,需要按品牌进行筛选,其中可用行超过 50 个,列评估中的零值少于 10 个。我使用 dplyr

可重现的示例

library(dplyr)
library(magrittr)

df <- data.frame(brand=c("Advert","Advert","Bass","Bass","Bass"),
date=c("2019-07-15","2019-08-15","2018-01-01","2018-02-15","2015-01-10"),
valuation=c(0,1,0,1,1))

# What I have reached so far...

df %>% dplyr::add_count(brand) %>% group_by(brand) %>% add_count(valuation==0)


> df %>% dplyr::add_count(brand) %>% group_by(brand) %>% add_count(valuation==0)
# A tibble: 5 x 6
# Groups: brand [2]
brand date valuation n `valuation == 0` nn
<fct> <fct> <dbl> <int> <lgl> <int>
1 Advert 2019-07-15 0 2 TRUE 1
2 Advert 2019-08-15 1 2 FALSE 1
3 Bass 2018-01-01 0 3 TRUE 1
4 Bass 2018-02-15 1 3 FALSE 2
5 Bass 2015-01-10 1 3 FALSE 2

我将使用“n”列来过滤超过 50 行的品牌,但请注意“nn”列中的预期结果应该是:

1
1
1
1
1

事实上,我需要按品牌组计算零值的比例,但我坚持按品牌计算零

最佳答案

请勿将 add_count 用于第二个条件。您可以直接使用sum

df %>% 
dplyr::add_count(brand) %>%
group_by(brand) %>%
mutate(nn = sum(valuation == 0))

关于r - 使用 dplyr 按组添加零计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57101607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com