【问题标题】:Concatenating column values of identical rows (except for this column) of two different data tables连接两个不同数据表的相同行(此列除外)的列值
【发布时间】:2014-07-29 23:22:11
【问题描述】:

我有两个基因 aggHuman 和 aggRat 的数据表

> aggHuman
   Human     Rat RNAtype
1   ASAP2   Asap2      Hy
2    BBS1    Bbs1      Hn
3    BBS2    Bbs2      Hn
4 SPATA22 Spata22      Hn

  > aggRat
    Human     Rat RNAtype
1   ASAP2   Asap2      Rn
2    BBS1    Bbs1      Ry
3    BBS2    Bbs2      Rn
4 SPATA22 Spata22      Rn

现在,我想拼接这两个表的 RNAtype 列中的值。例如,在 ASAP2 的 aggHuman 中,我们有 Hy,而在 aggRat 中,我们有 Rn。现在,我想通过拼接HyRn来制作另一个类似的表格如下形式。

        Human     Rat RNAtype
    1   ASAP2   Asap2      HyRn 

但是最初的两个表可以有不同顺序的基因。所以,我需要做的是在 aggHuman 中找到与 ASAP2 对应的行,并在 aggRat 中“找到”相同的基因行,然后进行缝合。

谁能帮助我如何做到这一点?

【问题讨论】:

    标签: r add multiple-tables


    【解决方案1】:

    试试这个:

    第 1 步:加载 data.table 库(您可能需要安装此库):

    library(data.table)
    

    第 2 步:将 data.frame 转换为 data.table,并设置适当的键:

    setDT(aggHuman)
    setkey(aggHuman,Human,Rat)
    setDT(aggRat)
    setkey(aggRat,Human,Rat)
    

    第三步:连接两个数据表,并进行所需的组合:

    aggHumanRat <- aggHuman[aggRat]
    aggHumanRat[,RNAtype := paste(RNAtype,RNAtype.1,sep="")][,RNAtype.1:=NULL]
    aggHumanRat
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多