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

fun*_*101 1 r

在我的数据帧中,我想基于某些逻辑选择一行,然后返回一个带有所选行的数据帧PLUS下一个'N'行.

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

workingRows <- myData[which(myData$Column1 >= myData$Column2 & myData$Column3 <= myData$Column4), ]
Run Code Online (Sandbox Code Playgroud)

这会返回正确的"起始值".如何根据每个起始值获取"下一个"5个值?

akr*_*run 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)))),]
Run Code Online (Sandbox Code Playgroud)

  • 哦,好的,我只是建议添加独特的,但你看到了重叠的可能性. (2认同)