R是否有可能在符合指定条件的行之后提取NEXT行(选择行+ 1)?例如,我在数据
中选择特定行df1[df1$criterion == "example", ]
但我对这些行并不感兴趣,但是每个第一行都跟随其中一行满足标准...
答案 0 :(得分:1)
你可以这样做:
indices <- which(df1$criterion == "example")[- nrow(df1)] + 1
df1[indices, ]
基本上,您使用哪个将TRUE
/ FALSE
掩码转换为索引。部分[- nrow(df)]
通过删除掩码(无论其值如何)来处理掩码的最后一个元素为TRUE
的情况。
答案 1 :(得分:0)
df[c(F,df$criterion == "example")]
这只是通过在开头附加一个FALSE来抵消屏蔽标志。
答案 2 :(得分:0)
另一个基本解决方案:
df1$cummeet <- cumsum(df1$criterion == "example")
df1[df1$cummeet > 0]
通过使用累积总和,您可以查看该特定行之后的所有行。