R 根据两个协变量水平的对应关系选择数据帧的行

R 根据两个协变量水平的对应关系选择数据帧的行,r,subset,R,Subset,我目前正在处理两个不同的数据帧,其中一个非常长。我需要做的是选择long的所有行,它们对应的id_类型在另一个较小的数据集中至少出现一次 假设这两个数据帧是: long <- read.table(text = " id_type x1 x2 1 0 0 1 0 1 1 1 0 1 1 1 2 0 0 2 0 1

我目前正在处理两个不同的数据帧,其中一个非常长。我需要做的是选择long的所有行,它们对应的id_类型在另一个较小的数据集中至少出现一次

假设这两个数据帧是:

long <- read.table(text = "
  id_type   x1   x2

   1       0     0  
   1       0     1
   1       1     0
   1       1     1
   2       0     0
   2       0     1
   2       1     0
   2       1     1
   3       0     0  
   3       0     1
   3       1     0
   3       1     1
   4       0     0  
   4       0     1
   4       1     0
   4       1     1", 
header=TRUE) 
我尝试使用out只使用%in%:

查看?%in%。

只需使用%in%:

查看?%in%。

您在%中缺少%in%的位置:

您在%中缺少%的位置:


+1用于可复制的示例并显示您的工作+1用于可复制的示例并显示您的工作!为了清楚起见,我在一个全新的帖子里把附加但不同的问题分开了。为了清楚起见,我在一个全新的帖子里把附加但不同的问题分开了。
short <- read.table(text = "
  id_type   y1   y2    

   1       5     6    
   1       5     5    
   2       7     9", 
     header=TRUE) 
 id_type   x1   x2    

  1       0     0  
  1       0     1
  1       1     0
  1       1     1
  2       0     0  
  2       0     1
  2       1     0
  2       1     1
out <- long[long$id_type %in% short$id_type, ]
> long[long$id_type %in% unique(short$id_type),]
  id_type x1 x2
1       1  0  0                                                             
2       1  0  1                                                             
3       1  1  0                                                             
4       1  1  1                                                             
5       2  0  0                                                             
6       2  0  1                                                             
7       2  1  0                                                             
8       2  1  1