我正在尝试根据来自另一个数据帧的匹配ID来对大数据帧进行子集化。我看了这个问题的答案:
R: subset a data frame based on conditions from another data frame
但是,我的数据与此不同之处在于,对于我的一个数据集,我在列中设置了链接器ID,而在另一个数据集中,它遍历行
数据集1
*ID* time stat
*1* 3.21 6
*4* 7.9 3
...数据集2
*ID 1 2 4* ...
y yellow brown yellow
z 3 5 2
a yes yes no
我最终想得到的是一个数据框,我只有数据集2中的数据,数据集1中有匹配的样本ID。所以在这个例子中:
*ID 1 4* ...
y yellow yellow
z 3 2
a yes no
非常感谢任何帮助。
安德烈
答案 0 :(得分:0)
您需要做的就是
newDf<-df2[,df2[1,]%in%df1[,1]]
其中df1 [,1]是列位置1中id列的数据集,df2 [1,]是行位置1中id列的数据集。
df2[1,]
#[1] 1 3 4
df1[,1]
#[1] 1 4
df2[1,]%in%df1[,1]
#[1] TRUE FALSE TRUE