【发布时间】:2016-11-09 11:07:47
【问题描述】:
我有两个不同行号的表。我想根据两列的内容合并表格。但是,问题是我不希望在合并时变量的顺序很重要。示例:
表1:
Gene1 Gene2 p-value
TP53 ARID1A 0.001
ATM ATR 0.0005
表2:
Gene1 Gene2 p-value
ARID1A TP53 0.0007
ATM ATR 0.004
我试过了:
merge(Table1, Table2, by = c("Gene1", "Gene2"), all.x = TRUE)
但问题是它只会合并 'ATM' 和 'ATR' 而不会合并 'TP53' 和 'ARID1A' 因为它们的顺序不同。
有没有办法合并两个表而不考虑列顺序?
【问题讨论】:
-
你可以试试
merge(t1,t2,by=c("Gene1","Gene2"),all=TRUE)。 -
这会部分起作用。现在我得到一张两张桌子的大桌子。但是,“TP53”“ARID1A”和“ARID1A”“TP53”显示为单独的行。我想知道是否有办法让它们出现在同一行。
-
请分享您的预期输出,以便我们更轻松地找出解决方案。
-
对基因名称进行排序然后合并,这样我们就可以确定“TP53,ARID1A”对在Gene1列上总是有“ARID1A”。
-
@Chirayu Chamoli 我希望输出为:
TP53 ARID1A 0.001 0.0007用于第一行,当然ATM ATR 0.0005 0.004用于第二行。所以基本上,当 Gene1 和 Gene2 的组合在两个表之间共享时,这些行将被合并,但按该顺序不是必需的。谢谢!