【发布时间】:2011-10-16 08:45:03
【问题描述】:
我有几行数据(制表符分隔)。我想找到与每行中两列 (3rd & 4th) 中的元素与另外两列 (10th & 11th) 匹配的行。例如,在第 1 行,第 3 和 4 列 中的 95428891 和 95443771 匹配 第 19 行中的第 10 和 11 列 中的元素/强>。同样,倒数也成立。 第 19 行的第 3 列和第 4 列中的元素也匹配 第 1 行中的第 10 列和第 11 列中的元素。我需要能够遍历每一行并输出相应匹配的行索引。有时可能只有一列匹配而不是两者匹配(因为有时有重复的数字),但我只需要选择两列都匹配以及相互匹配的行。因此,最好在存在相互匹配的情况下输出行索引,例如,1 & 19 作为制表符分隔值(可能在不同的 data.frame 对象中)。并且没有相互匹配的行可以单独输出。我正在尝试在 R 中实现这一点以遍历多行数据。
1313 chr2 95428891 95443771 14880 chr2:96036782 205673 + chr2 96036782 96052481
1313 chr2 95428896 95443771 14875 chr2:97111880 205214 - chr2 97111880 97127588
1313 chr2 95443771 95526464 82693 chr2:95609272 1748861 - chr2 95609272 95691902
1313 chr2 95477143 95486318 9175 chr2:97616847 177391 + chr2 97616847 97626039
1313 chr2 95486323 95521267 34944 chr2:97035158 268351 + chr2 97035158 97070183
1313 chr2 95515418 95525958 10540 chr2:95563236 132439 + chr2 95563236 95572666
1314 chr2 95563236 95572666 9430 chr2:95515418 132439 + chr2 95515418 95525958
1314 chr2 95563236 95572666 9430 chr2:95609778 126017 - chr2 95609778 95620287
1314 chr2 95563236 95569115 5879 chr2:97064308 89848 + chr2 97064308 97070183
164 chr2 95609272 95691902 82630 chr2:95443771 1748861 - chr2 95443771 95526464
1314 chr2 95609778 95620287 10509 chr2:95563236 126017 - chr2 95563236 95572666
1314 chr2 95614473 95649363 34890 chr2:97035158 394821 - chr2 97035158 97070173
1314 chr2 95649368 95658543 9175 chr2:97616847 177822 - chr2 97616847 97626039
164 chr2 95775062 95814080 39018 chr2:97578938 0 - chr2 97578938 97616780
1315 chr2 95778788 95781856 3068 chr2:97609982 31302 - chr2 97609982 97616788
164 chr2 95780657 95829665 49008 chr2:96053880 882178 - chr2 96053880 96102738
1316 chr2 95829982 95865446 35464 chr2:97296848 242680 - chr2 97296848 97333087
1316 chr2 95829982 95935104 105122 chr2:97438085 1169669 + chr2 97438085 97544431
1317 chr2 96036782 96052481 15699 chr2:95428891 205673 + chr2 95428891 95443771
【问题讨论】:
标签: r