DF1:
a b
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10
DF2:
c
1 3
2 8
3 4
4 2
5 9
我想看看DF2的每一行(c列)是否在DF1的a和b之间; 因此,最终的过滤结果将是:
c
1 3
3 4
5 9
该如何完成?我有一个很长的DF2和一个很短的DF1 我正在尝试此操作,但出现以下错误:
library(tidyverse)
> c %>%
filter(c>a & c<b)
filter_impl(.data,quo)中的错误:结果的长度必须为5,而不是10 另外:警告消息: 在c
答案 0 :(得分:1)
> library(dplyr)
> df1 <- data.frame (a = c(1,2,3,4,5), b = c(6,7,8,9,10))
> df2 <- data.frame (c = c(3,8,4,2,9))
>
> df2 %>% filter(c > df1$a & c < df1$b)
c
1 3
2 4
3 9