难以在此得到一致的标题;希望我的第二次尝试更好。 这里引用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循环运行它会更好吗?我可以自己烹饪循环,但我更喜欢疯狂的组合方法,因为它构成了数据点关系的描述,而循环系统只是数据发生的事情。
答案 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)