我有这样一个数据框架:
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 . mRNA 1300 9000 . + . ID=mRNA00003;Parent=gene00001;Name=EDEN.3
1 . exon 1300 1500 . + . ID=exon00001;Parent=mRNA00001
1 . exon 1300 1500 . + . ID=exon00001;Parent=mRNA00002
1 . exon 1300 1500 . + . ID=exon00001;Parent=mRNA00003由于最后3行共享的信息大部分相同(即前8列是相同的),所以我想让它们像这样:
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 . mRNA 1300 9000 . + . ID=mRNA00003;Parent=gene00001;Name=EDEN.3
1 . exon 1300 1500 . + . ID=exon00001;Parent=mRNA00001;mRNA00002;mRNA00003有什么简单的方法吗?
发布于 2017-12-24 19:13:24
有点像?
library(dplyr)
df %>%
group_by(V1,V2,V3,V4,V5,V6,V7,V8) %>%
summarise(V9 = paste(unique(unlist(strsplit(paste(V9, collapse = ';'), split = ";"))),collapse=";"))发布于 2017-12-24 19:26:31
根据注释,您还可以尝试使用aggregate(V9 ~ ., df, function(x){paste(x, sep = ";")})
https://stackoverflow.com/questions/47963219
复制相似问题