2016-07-16 7 views
1

私のデータフレームでは、いくつかのロジックに基づいて行を選択し、次に選択された行を含むデータフレームを次の「N」行に戻したいと思います。R行と次の5行の選択

だから、私はこれを持っている:私は、正しい "初期値" を返します(一般的な例)

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

。開始値のそれぞれに基づいて「次の」5値を取得するにはどうすればよいですか?

+0

次回は[よくある質問](http://stackoverflow.com/help/how-to-ask)に関する情報と[再現可能な例]を与える方法( http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610)。これは他の人があなたを助けることをはるかに容易にします。 – Jaap

+1

さて、私はそれを得ました、次回は、人々がテストするための最小限のデータセットを提供します。 – funk101

答えて

5

我々はそれがsort、次の5行を取得するためにrepを使用し、オーバーラップからの任意の重複がある場合は、uniqueでそれをラップし、「MYDATA」をサブセットすることができます。

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

ああ、良い、私はちょうどユニークな追加を提案しようとしていたが、あなたは重なりの可能性を見た。 –

+1

甘い!ありがとう、完璧に動作します。 – funk101

関連する問題