我有表1(子集):
A10L 2048.33333333334 537.666666666665 17 7 0.00035473 0.00056334
A11R 706 200 6 5 0.00037119 0.00110825
A12L 209.666666666667 57.3333333333332 3 1 0.00067166 0.00104651
A13L 14 3.99999999999999 0 0 0.00000000 0.00000000
A14L 154.333333333333 40.6666666666666 0 0 0.00000000 0.00000000
A15L 205 55.9999999999999 2 2 0.00039427 0.00144330
A16L 724.333333333333 184.666666666667 8 4 0.00044806 0.00087536
A17L 477 126 7 1 0.00067518 0.00032073
A18R 1000.66666666667 277.333333333333 10 5 0.00042343 0.00079922
A19L 167.333333333333 45.6666666666666 4 1 0.00119768 0.00088494
表2(子集):
A10L 119355
A11R 121185
A12L 121954
A13L 122373
A14L 122723
A15L 123169
A16L 123863
A17L 124740
A18R 125801
A19L 126639
我想知道如何在x轴上绘制表2的第2列,在y轴上绘制表1的第6列?基本上表2是基因的中点坐标,表1是基因的一些多样性值。
在我的实际例子中,表1和表2的顺序不同,即两个表中基因的顺序不同,但基因相同,表1中的所有基因都列于表2中,但反之亦然,表2可能有2-3个未被分析的额外基因。
我想我可以用bash sort -k1,1选项对它们进行排序,然后将它们合并,但是这需要手动检查缺失的基因......还有什么我可以做的吗?
谢谢, 阿德里安
答案 0 :(得分:0)
谢谢大家的回答。这是我发现完美的工作(尽管编码可能不是最有效的):
coord <- read.csv("coordinates.csv", header = F)
pi <- read.table("pi_output")
coord2 <- data.frame(gene = coord[,1], crd = coord[,2])
pi2 <- data.frame(gene = pi[,1], nsyn = pi[,6], syn = pi[,7])
pi3 <- merge(coord2, pi2, by.x = "gene", by.y = "gene", all = TRUE)
final_merged <- pi3[order(pi3$crd),]
其中coord相当于table2,pi将具有上面示例中发布的table1的值。