0

df2 にループし、df2$col1 の最初の値と df2$col2 の最後の値を取得し、それらの値を使用して対応する行のみを選択し、その間にあるすべての行を df1$col1 で選択する必要があります。

これで私を助けることができれば、本当に感謝しています!

df1

col1 
1 
2
3
4
5
etc

df2

col1 col2
1200  1250
1299  1325 
1350  1500
4

1 に答える 1

1

SimonO101 が指摘したように、 と を使用でき"["ます%in%

これを試して:

df1[df1$col1 %in% head(df2,1)[1,1] : tail(df2, 1)[1,2], , drop=FALSE]

編集

@flodelがコメントし<=たように、より効率的にするために使用することもできます

df1[df2[1,1] <= df1$col1 & df1$col1 <= df2[nrow(df2),2], , drop=FALSE]

に相当

df1[df1$col1 >= df2[1,1] & df1$col1 <= df2[nrow(df2),2], , drop=FALSE]
于 2013-11-14T12:10:31.007 に答える