我有两个基因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中“找到”相同的基因行,然后进行缝合。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
试试这个:
步骤1:加载data.table库(您可能需要安装它):
library(data.table)
第2步:将data.frame转换为data.table,并设置适当的密钥:
setDT(aggHuman)
setkey(aggHuman,Human,Rat)
setDT(aggRat)
setkey(aggRat,Human,Rat)
步骤3:加入两个数据表,并执行所需的组合:
aggHumanRat <- aggHuman[aggRat]
aggHumanRat[,RNAtype := paste(RNAtype,RNAtype.1,sep="")][,RNAtype.1:=NULL]
aggHumanRat
希望这会有所帮助!!