如何编写快速功能
m=(w+x+y+z)/4
(注意这些是所有向量的字母)示例数据可能如下所示:
# my data + noise 4 times
a <- 1:1000 + rnorm(10)
b <- 1:1000 + rnorm(10)
c <- 1:1000 + rnorm(10)
d <- 1:1000 + rnorm(10)
mydf <- data.frame(time=1:4000, measurement=c(a,b,c,d))
直到现在我使用以下慢速解决方法。并在mydf$measurement
AvgOverPeriodsVector <- function(hdata, recordedperiods=4){
SamplesPerPeriod <- length(hdata)/recordedperiods
a <- unname(sapply((split(hdata, rep(1:SamplesPerPeriod,recordedperiods))),mean ))
return(a)
}
如何提高速度?
rowMean
会不会喜欢
Element-wise mean in R
更快?
答案 0 :(得分:1)
刚刚在这里找到了关于.rowMeans
的提示。我想这是一个很好的解决方案。