在我的数据帧中,我想根据某些逻辑选择一行,然后返回一个数据帧,其中所选行PLUS接下来的“N”行。
所以,我有这个:(一个通用的例子)
workingRows <- myData[which(myData$Column1 >= myData$Column2 & myData$Column3 <= myData$Column4), ]
这会返回正确的“起始值”。如何根据每个起始值获得“下一个”5个值?
答案 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)))),]