[英]R: combine rows with common information
我有一個像這樣的數據框:
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
是否有捷徑可尋?
就像是?
library(dplyr)
df %>%
group_by(V1,V2,V3,V4,V5,V6,V7,V8) %>%
summarise(V9 = paste(unique(unlist(strsplit(paste(V9, collapse = ';'), split = ";"))),collapse=";"))
根據評論,您也可以嘗試使用aggregate(V9 ~ ., df, function(x){paste(x, sep = ";")})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.