【发布时间】:2018-12-04 09:57:54
【问题描述】:
如何在不使用 dplyr 过滤的情况下通过分组数据计算条件计数和平均值?我既不想使用过滤器缩小数据集,也不想 left_join 数据以获取原始大小(加长)的数据集。这可能吗?
这是一个案例:
mtcars %>% filter(cyl>4, gear% group_by(gear, carb, am) %>% mutate(avg_mpg = mean(mpg, na.rm = T), cnt = n( ))
不使用filter或left_join如何得到以上结果?
【问题讨论】:
-
你的意思是
mtcars %>% group_by(gear, carb, am) %>% mutate(avg_mpg = mean(mpg[cyl>4 & gear< 5], na.rm = TRUE)) -
@ckrun 您能否在建议的答案中包含计数?
-
是的,
mtcars %>% group_by(gear, carb, am) %>% mutate(avg_mpg = mean(mpg[cyl>4 & gear< 5], na.rm = TRUE), cnt= n()) -
这是你想要的吗?\
-
在这种情况下,
cnt = sum(cyl>4 & gear <5))