这是去年在此站点上为我成功回答的问题的后续问题,请参阅如何在使用 R 的缺失值之前获取列中最后 10 个值的平均值。
以前,我曾问过如何在缺失值之前取一列中最后 10 行的平均值。我的数据是树木的增长率——我的第一列是年份,右边的列是单棵树的增长率,以每棵树死亡的那一年结束。在每棵树“出生”之前和树死之后,增长率值为NA
. 当我需要在每棵树死亡前取过去 10 年的平均值时,有效的代码是:
sapply(dataframe, function(dataframe) mean(tail(na.omit(dataframe), 10)))
后来,我需要计算每棵树生命前 50 年的平均增长率,所以我用“头”代替“尾”来做到这一点,使用以下代码:
sapply(dataframe, function(dataframe) mean(head(na.omit(dataframe), 50)))
现在,我的问题是:我如何取每棵树在前 50 年到 100 年生长之间生长的平均值?那么,我想要每棵树在 50 到 100 年之间的平均生长情况?是否有一个我不知道的函数(类似于“head”或“tail”)可以让我在特定行之间取平均值?困难在于每棵树在不同年份出生(或死亡),所以我不能简单地索引某些年份。
感谢您的任何帮助,您可以提供。
凯蒂