【发布时间】:2018-01-10 06:52:15
【问题描述】:
我在 R 中有一个长格式的数据框 (DF1),大约 430,000 行和 4 列。我想按文件对观察结果进行分组,然后按名称对观察结果进行分组,然后按列表定义的特定顺序进行排序,然后将 GT 列中的值连接起来。该表的格式如下:
# Assay Name GT file
# as1 Fred AG file1.csv
# as2 Fred GT file1.csv
# as3 Fred TC file1.csv
# as2 Curt AG file1.csv
# as1 Curt GG file1.csv
# as3 Curt TT file1.csv
# as1 Fred AG file2.csv
# as2 Fred NA file2.csv
# as3 Fred TC file2.csv
所需的输出如下所示:
# Name GT_concatenated
# Fred AGGTTC
# Curt GGAGTT
# Fred AG TC
这意味着 Assay 列需要先按此列表排序 c("as1","as2","as3") ,然后连接。我试过这个:
DF2<-aggregate(GT~file+Name,data=DF1,paste,collapse="")
这给了我想要的输出,但没有排序,“NA”值没有空格。
【问题讨论】:
-
我有一个答案,但我删除了它,因为我不确定我是否理解您想要的输出。 Fred file1 行似乎不应该是 AGGTTC,但您已将其列为 GTAGGT。这似乎是 as2、as1、as3,我不明白。
-
@HarlandMason 我会继续发布您的答案,因为它可能是一个错字。您可以在进一步澄清后编辑您的答案
-
是的,那个是错字。我更正了。
标签: r sorting concatenation