【发布时间】:2013-10-08 11:55:54
【问题描述】:
我有一个数据集,它是两个数据集的左外连接交集。我现在有来自第一个数据集的多个条目,每个条目与第二个重叠。请注意,Assembly.1000 重复了 3 次,我想将其折叠为 1
Assembly.1000 chrX 560000 575000 ABC1 20
Assembly.1000 chrX 560000 575000 IL15RA 3.2
Assembly.1000 chrX 560000 575000 BRCA1 20
Assembly.1038 chrX 780000 829000 . .
Assembly.1338 chrX 960000 999000 ACTIN 3800
Assembly.1338 chrX 960000 999000 ACTIN 4000
如您所见,对于每个文件 2 条目(ABC1、IL15RA、BRCA1),Assembly.1000 的文件 1 条目重复了 3 次
我想把输出解析成什么
Assembly.1000 chrX 560000 575000 ABC1;IL15RA;BRCA1 20;3.2;20
Assembly.1038 chrX 780000 829000 . .
Assembly.1338 chrX 960000 999000 ACTIN,ACTIN 3800;4000
我可以使用 $ while read 命令并查看循环中的先前条目来完成此操作,但对于大文件(~1e6 个条目),这根本不够有效。有人对如何有效地编程有任何建议吗?
【问题讨论】:
-
查看
aggregate或查看“data.table”包并使用paste聚合列。但这最终会使您的数据很难在以后使用。
标签: linux r bash while-loop