WhiteInR jw3_140101 <- jw3[c(1:24),] jw3_140102 <- jw3[c(25:48),] jw3_140103 <- jw3[c(49:72),] …… 要从数据框jw3里某变量每24个值求一个平均,使用笨办法是可以完成。但肯定有更高效的方法,求大神指教。循环还是条件,请给一个思路吧,谢谢!
crispy_baozi 想法是给你的数据框加一列标签,然后通过ddply函数对相同标签行求mean,但是要考虑矩阵行数是否是24的倍数。 1.如果矩阵的行数是24的倍数,那么比较简单: jw3 = data.frame(jw3,group = rep(c(1:(now(jw3)/24)),each = 24) ddply(jw3,.(group),summarise, Mean = mean(target_variable)) 2.如果矩阵的行数不是24的倍数但是大于24,那么: group = c(rep(c(1:(nrow(jw3)%/%24)),each = 24),rep((nrow(jw3)%/%24+1),nrow(jw3)%%24)) jw3 = data.frame(jw3,group) ddply(jw3,.(group),summarise, Mean = mean(target_variable)) 3.如果jw3矩阵行数小于24,那么直接对目标变量求mean就好。