我知道类似的问题已经在这里被问到了,但是我有两个基因表达的数据框架,两个数据集之间有一些不重叠的基因。我想根据公共行合并两个数据框。我的 Dataframe 看起来像这样:
> print(fibro1[c(1:12),])
C12 C24 C48 C72 T12 T24 T48 T72
Gnai3 3510.4 2319.1 974.8 2198.7 1936.2 829.9 807.3 1882.1
Cdc45 41.0 22.5 16.1 33.4 44.9 0.0 6.7 32.6
H19 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.2
Scml2 29.8 43.8 25.0 10.8 79.5 0.0 26.2 46.0
Apoh 35.4 0.0 0.0 0.0 16.6 16.1 0.0 2.8
Narf 231.8 190.5 122.3 181.0 122.0 60.4 54.0 118.8
Cav2 196.9 53.7 36.4 130.9 80.9 6.7 17.9 79.0
Klf6 10478.8 5471.5 3337.1 5059.1 7987.7 2522.5 4117.2 5298.4
Scmh1 4235.9 1464.8 872.0 2254.5 2307.7 799.7 869.1 1959.1
Cox5a 142.4 68.0 97.0 112.8 251.8 23.0 163.9 71.3
Tbx2 5.8 9.5 4.5 5.6 13.4 0.0 8.5 9.6
Ngfr 58.1 60.6 50.7 32.1 46.1 57.7 0.0 10.7
> print(fibro2[c(1:12),])
C12 C24 C48 C72 T12 T24 T48 T72
Gnai3 1171.0 446.0 278.5 876.2 876.2 45.0 582.3 1040.0
Cdc45 47.8 9.0 19.1 41.0 22.6 0.0 38.5 78.5
H19 77.0 52.2 33.4 36.7 177.9 34.7 402.1 458.6
Scml2 2.3 0.0 10.1 3.0 12.8 0.0 0.0 9.2
Narf 43.0 5.4 4.7 27.9 35.8 2.9 23.8 135.6
Cav2 54.6 23.3 5.3 10.7 64.0 0.0 30.1 40.4
Klf6 2498.4 730.7 1454.1 1033.0 2616.9 421.4 2389.6 2950.4
Scmh1 591.7 129.4 260.5 273.5 457.1 29.2 303.5 534.3
Cox5a 70.9 21.9 39.7 51.0 225.5 25.9 321.2 98.9
Tbx2 6.1 0.0 0.0 10.7 3.5 0.0 7.1 11.0
Tbx4 5.7 0.0 0.0 0.0 5.7 0.0 3.4 9.8
Ngfr 14.2 8.8 21.5 33.8 9.2 18.9 22.5 40.6
我尝试了merge()、inner_join()、semi_join()、intersect()。你有什么建议吗?我希望我的最终数据框有16列交叉行。其他类似问题的行名称顺序相同,因此所使用的函数可以进行一对一比较,但在本例中,行名称的顺序不同,并且存在一些不重叠的行。
1条答案
按热度按时间fzwojiic1#
在行名称上使用
merge
作为单独的列,然后将行名称放回原位。输出