【发布时间】:2016-02-24 14:17:05
【问题描述】:
我有一个大约有一个数据框。 500k 行(遗传标记)。一些标记具有相同的 CHR 和 STOP 值(重复/三次),但所有行都有唯一的 SNP 字段。我想识别重复标记(基于 CHR 和 STOP 字段),然后选择具有最低 F_MISS 值(最后一个字段)的标记(通过 SNP)。我通过多次循环数据框使其工作(识别重复项-> 子集-> 按 F_MISS 排序后报告第一行),但这非常耗时。我正在寻找一种更快的方法来实现同样的目标。下面的示例(由于 F_MISS 较低,请参阅 rs53565463 应优先于 1KG_10_12259383 的重复项的两条底线)。请注意,列表中也有一些一式三份。
SNP CHR START STOP F_MISS
1KG_10_101715768 4 0 101715769 0.000e+00
1KG_10_102584498 5 0 102584499 4.967e-05
1KG_10_105796247 6 0 105796248 0.000e+00
1KG_10_1066786 2 0 1066787 9.935e-05
1KG_10_115662307 3 0 115662308 0.000e+00
1KG_10_12259383 10 0 12259384 7.100e-02
rs53565463 10 0 12259384 4.967e-05
...
编辑:
根据要求,预期输出是(注意输出缺少第 1KG_10_12259383 行,因为 F_MISS 较低,首选 rs53565463):
SNP CHR START STOP F_MISS
1KG_10_101715768 4 0 101715769 0.000e+00
1KG_10_102584498 5 0 102584499 4.967e-05
1KG_10_105796247 6 0 105796248 0.000e+00
1KG_10_1066786 2 0 1066787 9.935e-05
1KG_10_115662307 3 0 115662308 0.000e+00
rs53565463 10 0 12259384 4.967e-05
...
【问题讨论】:
-
你能发布你现有的循环吗?
-
请添加此示例的预期输出
标签: r dataframe duplicates