R选择一行加上接下来的5行

时间:2016-07-16 17:02:04

标签: r

在我的数据帧中,我想根据某些逻辑选择一行,然后返回一个数据帧,其中所选行PLUS接下来的“N”行。

所以,我有这个:(一个通用的例子)

workingRows <- myData[which(myData$Column1 >= myData$Column2 & myData$Column3 <= myData$Column4), ]

这会返回正确的“起始值”。如何根据每个起始值获得“下一个”5个值?

1 个答案:

答案 0 :(得分:5)

我们可以使用rep获取接下来的5行sort,如果有重叠的重复项,请用unique包装,并将'myData'子集。

i1 <-  which(myData$Column1 >= myData$Column2 & myData$Column3 <= myData$Column4)
myData[unique(sort(i1 + rep(0:5, each = length(i1)))),]