2017-07-07 79 views
1

我有一个温度的年度记录。我需要选择五行之前的特殊行(天),以平均五天为单位,然后选取所选组的平均值。这里是我的数据框和下面的代码,我申请但没有工作。根据定义的值在数据框中选择行

Day T.m 
1  22 
2  21 
3  34 
4  28 
5  14 
6  7 
7  12 
8  22 
9  11 
10  12 
11  14 
12  3 
13  4 
14  11 
15  16 

a <- c(8, 12,14) 

apply(DF [c((a-5):a),2], 1, mean) 

回答

0

我们可以使用mapply

mapply(function(x, y) mean(DF[[2]][x:y]), a-5, a) 
#[1] 19.500000 12.333333 9.166667 

还是一个量化的方法是

tapply(DF[[2]][rep(a-5 , each = 6) + 0:5], rep(1:3, each = 6), FUN = mean) 
#  1   2   3 
#19.500000 12.333333 9.166667 
相关问题