簡體   English   中英

R:結合行與常用信息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM