循环选择R中两列中的第一个和最后一个值

循环选择R中两列中的第一个和最后一个值,r,loops,R,Loops,我需要循环到df2中,取df2$col1中的第一个值和df2$col2中的最后一个值,并使用这些值仅选择df1$col1中的对应行和所有中间行 如果你能帮我,我会非常感激的 df1 df2 正如SimonO101所指出的,您可以在%中使用“[”和% 试试这个: df1[df1$col1 %in% head(df2,1)[1,1] : tail(df2, 1)[1,2], , drop=FALSE] 编辑 正如@flodel所评论的,您甚至可以使用`[`子集设置对您很有用。我建议您在控制台中键入

我需要循环到df2中,取df2$col1中的第一个值和df2$col2中的最后一个值,并使用这些值仅选择df1$col1中的对应行和所有中间行

如果你能帮我,我会非常感激的

df1

df2


正如SimonO101所指出的,您可以在%中使用
“[”
%

试试这个:

df1[df1$col1 %in% head(df2,1)[1,1] : tail(df2, 1)[1,2], , drop=FALSE]
编辑
正如@flodel所评论的,您甚至可以使用
`[`
子集设置对您很有用。我建议您在控制台中键入
?“[”
。还有
帮助(“[.data.frame”)
。OP有两个data.frames
df1
df2
,在您的解决方案中只有一个,它回答了问题吗?我遗漏了什么吗?:不是我遗漏了第二个data.frame名称!我以为只有一个。使用
=

col1 col2
1200  1250
1299  1325 
1350  1500
df1[df1$col1 %in% head(df2,1)[1,1] : tail(df2, 1)[1,2], , drop=FALSE]
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]