【发布时间】:2016-07-08 13:50:53
【问题描述】:
我有一个很长的数据框,其中近 56 列中的 1 列具有许多不同的值,而其余数据根据第一列 ID 更改。这是一个例子
ID chrom left right ref_seq var_type zygosity transcript_name
0 chr1 1590327 1590328 a SNP Hom NM_033486
0 chr1 1590327 1590328 a SNP Hom NM_033487
0 chr1 1590327 1590328 a SNP Hom NM_033488
0 chr1 1590327 1590328 a SNP Hom NM_033489
0 chr1 1590327 1590328 a SNP Hom NM_033492
0 chr1 1590327 1590328 a SNP Hom NM_033493
1 chr1 1590526 1590527 g SNP Hom NM_033486
1 chr1 1590526 1590527 g SNP Hom NM_033487
1 chr1 1590526 1590527 g SNP Hom NM_033488
1 chr1 1590526 1590527 g SNP Hom NM_033489
1 chr1 1590526 1590527 g SNP Hom NM_033492
期望的结果是将任何重复的值连接成一个逗号分隔的字符串,但只维护一次 ID,像这样
ID chrom left right ref_seq var_type zygosity transcript_name
0 chr1 1590327 1590328 a SNP Hom NM_033486NM_033487,NM_033488,NM_033489,NM_033492,NM_033493
1 chr1 1590526 1590527 g SNP Hom NM_033486,NM_033487,NM_033488,NM_033489,NM_033492
我已经搜索过类似的问题,the following solutions 到目前为止还没有工作;相反,他们返回给我一个零行数据框。
【问题讨论】:
-
为什么全是0?你能展示你的脚本不起作用吗?
-
假设您的工作数据框与提供的相同,以下代码对我有用。
df2 <- aggregate(df[,8], df[,-8], FUN = function(X) paste(unique(X), collapse=", "))
标签: r dataframe duplicates