【发布时间】:2021-02-12 05:59:12
【问题描述】:
考虑以下数据集
period<-c(1,2,3,4,5)
x<-c(3,6,7,4,6)
cumulative_average<-c((3)/1,(3+6)/2,(3+6+7)/3,(3+6+7+4)/4,(3+6+7+4+6)/5)
df_test<-data.frame(value,cum_average)
df_test
period value cum_average
1 3 3
2 6 4.5
3 7 5.3
4 4 5.0
5 6 5.2
假设“x”列中的 5 个观测值分别代表“周期”中的变量从 1 到 5 所假定的值。如何生成列“cum_average”??
我相信这可以使用 zoo::timeAverage 来完成,但是当我尝试在我相对较旧的机器上午餐包时,我会遇到一些冲突并且无法使用它。
任何帮助将不胜感激!
解决方案
new_df <- df_test %>% mutate(avgT = cumsum(value)/period)
成功了。
非常感谢您的回答!
【问题讨论】:
-
看看
cumsum()函数。
标签: r recursion time average mean