我正在尝试获取高于特定阈值的行的平均值(按组)。不幸的是,我的尝试没有产生有效的结果。
数据:
df <- data.frame(
id=c(1:10),
group=c("a", "a", "a", "a", "a", "b", "b", "b", "b", "b"),
b=rnorm(10,5,1)
)
> df
id group b
1 1 a 4.154182
2 2 a 5.958000
3 3 a 3.346686
4 4 a 5.689609
5 5 a 5.003576
6 6 b 5.127969
7 7 b 4.841127
8 8 b 3.268419
9 9 b 3.601477
10 10 b 5.796909
尝试:
df %>%
dplyr::group_by(group) %>%
summarise(
mean=mean(b>4)
)
df %>%
dplyr::group_by(group) %>%
summarise(
mean=mean(which(b>4))
)
我认为跑步前你需要
b[b>4]
mean
df %>%
summarise(mean = mean(b[b > 4]), .by = group)