我有以下数据框。它只是头部,有17,568行。我想添加一个名为" average_no_of_steps"的新列。其值将等于与该行中的间隔对应的所有步骤的平均值。那我怎么能这样做呢?
steps date interval
1 37.3826 2012-10-01 0
2 37.3826 2012-10-01 5
3 37.3826 2012-10-01 10
4 37.3826 2012-10-01 15
5 37.3826 2012-10-01 20
6 37.3826 2012-10-01 0
答案 0 :(得分:0)
让我们制作一个复制你的例子的样本数据
library(dplyr)
df <- data.frame(steps=rnorm(1000, mean=35, sd=45),
interval=sample(c(0,5,10,15), 1000, replace=T))
现在,我们将根据您要进行聚合的变量进行分组,最后创建新列,该列将考虑先前的组进行聚合,从而为您提供相同维度的数据框。
df <- df %>% group_by(interval) %>%
mutate(mean=mean(steps))