我有一个类似于此的大型数据框:df <- data.frame(dive = factor(sample(c(\'dive1\',\'dive2\'), 10, replace=TRUE)), speed = runif(10) ...
我有一个与此类似的大数据框:
df <- data.frame(dive = factor(sample(c("dive1","dive2"), 10, replace=TRUE)),
speed = runif(10)
)
> df
dive speed
1 dive1 0.80668490
2 dive1 0.53349584
3 dive2 0.07571784
4 dive2 0.39518628
5 dive1 0.84557955
6 dive1 0.69121443
7 dive1 0.38124950
8 dive2 0.22536126
9 dive1 0.04704750
10 dive2 0.93561651
我的目标是当另一列等于某个值时获取一列值的平均值,并对所有值重复此操作。即在上面的例子中,我想为该列 speed
的每个唯一值 dive
。因此 dive==dive1
,当的平均值 speed
是这样的,对于每个值也是如此 dive
.
使用 collapse
library(collapse)
library(magrittr)
df %>%
fgroup_by(dive) %>%
fsummarise(speed = fmean(speed))
# dive speed
#1 dive1 0.5788479
#2 dive2 0.4401514
set.seed(123)
df <- data.frame(dive=factor(sample(c("dive1","dive2"),10,replace=TRUE)),
speed=runif(10))