2015-05-14 31 views
2

我在R.我已經在那裏的數據如下一個CSV文件,例如一個漂亮的初學者:如何根據R中的唯一值組合行?

ID Values 
820 D1,D2,FE 
730 D1,D2,D3,PC,Io,He,Bt,Te,AR,PG 
730 DV,GTH,LYT 
567 EDR,TYU,EOP,OMN 
567 FGH,KIH,IOP 

我想刪除重複的ID和他們的數據添加到其Values列,像這樣:

ID Values 
820 D1,D2,FE 
730 D1,D2,D3,PC,Io,He,Bt,Te,AR,PG,DV,GTH,LYT 
567 EDR,TYU,EOP,OMN,FGH,KIH,IOP 

如何在R中實現這一點?

回答

2
dat <- read.table(text="ID Values 
820 D1,D2,FE 
730 D1,D2,D3,PC,Io,He,Bt,Te,AR,PG 
730 DV,GTH,LYT 
567 EDR,TYU,EOP,OMN 
567 FGH,KIH,IOP", header=TRUE) 

dat2 <- dat %>% group_by(ID) %>% summarise(val=paste(Values, collapse=",")) 
2

您可以嘗試

library(data.table) 
setDT(df1)[, list(Values=paste(Values, collapse=",")) ,ID] 

或者使用base R

aggregate(.~ID, df1, paste, collapse=",") 
相關問題