【发布时间】:2025-12-04 18:50:02
【问题描述】:
我在 R 中提出了这个问题并得到了很多答案,但它们都在运行几个小时后使我的 4Gb Ram 计算机崩溃,或者它们需要很长时间才能完成。 faster way to compare rows in a data frame
有人说用R做不了工作。由于我不懂C,而且我对Perl有点流利,所以我会在这里问。
我想知道是否有一种快速方法可以将大型数据集的每一行与其他行进行比较,从而识别具有特定同源程度的行。假设对于下面的简单示例,我想要同源性 >= 3。
data:
sample_1,10,11,10,13
sample_2,10,11,10,14
sample_3,10,10,8,12
sample_4,10,11,10,13
sample_5,13,13,10,13
输出应该是这样的:
output
sample duplicate matches
1 sample_1 sample_2 3
2 sample_1 sample_4 4
3 sample_2 sample_4 3
【问题讨论】:
-
或许可以试试
Tie::Array::CSV -
我花了 30 多分钟来写一个脚本,所以不打扰:)
-
订单重要吗?例如 10,11,10,13 和 11,11,10,13 应该返回 3 个匹配还是 0 个匹配?
-
应该返回 3 个匹配项。
-
10,11,12,13和8,9,10,11有多少匹配项?
标签: perl