【发布时间】:2013-11-09 00:55:14
【问题描述】:
这是去年在此网站上为我成功回答的问题的后续问题,请参阅How to take the mean of last 10 values in a column before a missing values using R。
之前,我曾问过如何在缺失值之前取一列中最后 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”)可以让我在特定行之间取平均值?困难在于每棵树在不同年份出生(或死亡),所以我不能简单地索引某些年份。
感谢您提供的任何帮助。
凯蒂
【问题讨论】:
标签: r