繁体   English   中英

根据匹配的列和行对数据框进行分组-R

[英]Subset a data frame based on matching columns to rows - R

我正在尝试根据另一个数据帧中的匹配ID来对大型数据帧进行子集化。 我阅读了发布此问题的答案:

R:根据来自另一个数据帧的条件对一个数据帧进行子集

但是,我的数据与此不同之处在于,对于我的一个数据集,我在一列中设置了链接器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

任何帮助深表感谢。

安德里亚

您需要做的就是

newDf<-df2[,df2[1,]%in%df1[,1]]

其中df1 [,1]是id列在列位置1的数据集,而df2 [1,]是id列在行位置1的数据集。

df2[1,]
#[1] 1 3 4

df1[,1]
#[1] 1 4

df2[1,]%in%df1[,1]
#[1] TRUE FALSE TRUE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM