R:如何从df $ b中的触发值开始为每个df $ t引用df $ a系列?

时间:2016-05-01 22:41:57

标签: r reference time-series

难以在此得到一致的标题;希望我的第二次尝试更好。 这里引用FAR的问题超出了我能想到的范围。而且,非常抱歉,我非常不确定如何生成(并且实际上无法提取)有用的玩具示例。从根本上说,数据是树木的年度高度增量,最初是宽幅格式并且融化为长,因此现在它是一个系列,每年都会重复所有个体。它看起来像:

Year  Tree  HtIncr  CumulativeHt
1986  1     5       5
1986  2     na      na
1986  3     7       11
...
1992  1     20      73
1992  2     15      55
...and so on

我需要的是:每棵树,在树的累积高度> = 130之后的前五个HtIncrs(理想情况下也是那个开始的年份)。所以期望的输出将是这样的:

Tree  Year  HtIncr  CumulativeHt
1     1998  23      132
1     1999  19      151
...
1     2002  27      218
2     2000  18      131
...

是否有一些疯狂的名称和括号组合可以抓住它,或者通过一些for循环运行它会更好吗?我可以自己烹饪循环,但我更喜欢疯狂的组合方法,因为它构成了数据点关系的描述,而循环系统只是数据发生的事情。

1 个答案:

答案 0 :(得分:0)

subset(df, CumulativeHt > 130, select = c(Year, Tree, HtIncr))

df[df$CumulativeHt > 130, c(Year, Tree, HtIncr)]

require(dplyr)
df %>% filter(CumulativeHt > 130)

注意,您可以使用|

传递多个条件
filter(CumulativeHt > 130 |Year >1888)