【问题标题】:Subset a data frame based on matching columns to rows - R基于将列与行匹配的数据框子集 - R
【发布时间】:2014-10-09 21:08:09
【问题描述】:

我正在尝试根据来自另一个数据帧的匹配 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

非常感谢任何帮助。

安德烈亚

【问题讨论】:

    标签: r


    【解决方案1】:

    你需要做的就是

    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
    

    【讨论】:

      猜你喜欢
      • 2014-05-14
      • 2017-01-21
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多