【发布时间】:2019-02-25 11:19:20
【问题描述】:
我找不到与我的问题重复的问题,因此希望您能提供帮助。
使用一个简单的例子,我希望根据指定的窗口大小(称为n)计算一列的平均值/平均值。
data <- data.frame(x = rep(1:10,1), y = rep(11:20, 1))
我想添加一列z,它一次计算4行的平均值。
所以结果是:
structure(list(x = 1:10, y = 11:20, z = c("NA", "NA", "NA", "12.5",
"13.5", "14.5", "15.5", "16.5", "17.5", "18.5")), class = "data.frame", .Names = c("x",
"y", "z"), row.names = c(NA, -10L))
我计算了一列的行平均值,间隔为 n 行,如下所示:
#For n = 4, row 4 is calculated as (11+12+13+14)/n
#For n =4, row 5 is calculated as (12+13+14+15)/n
#And so on ...
我查看了以下帖子,例如:
- how to calculate combined column mean value in R
- Calculate mean by group
- How to calculate average of a variable by hour in R
- Calculate the mean of every 13 rows in data frame
- calculate a mean by criteria in R
我尝试了以下代码,但无法获得写入解决方案。
data<-data %>% mutate(z=rollapplyr(y,10,FUN=mean,by=4))
感谢您的帮助。谢谢
【问题讨论】:
标签: r