快速分裂矢量和分量意味着

时间:2012-11-25 02:11:42

标签: r mean large-data

如何编写快速功能

  • 将数据帧分成4个相同长度的数据帧w,x,y,z
  • 返回w,x,y,z的每索引均值 这个意思应该是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 更快?

1 个答案:

答案 0 :(得分:1)

刚刚在这里找到了关于.rowMeans的提示。我想这是一个很好的解决方案。