如何在R中将属性值列表分配给单个属性

时间:2018-09-27 12:06:03

标签: r

在R编程的初级阶段,请帮助我解决以下问题。 我在不同的行中将不同的desc值分配给相同的sol属性。我想在单行中使sol属性的所有desc值如下所述 我的数据如下:

sol          desc

  1       fry, toast                                                                                             
  1    frt,grt,gty

1   ytr,uyt,ytr    

6   hyt, ytr,oiu

4    hyg,hyu,loi

4    opu,yut,yut

I want the output as follows :

sol         desc

1        fry,toast,frt,grt,gty,ytr,uyt,yir  

6        hyt, ytr,oiu

4        hyg,hyu,loi,opu,yut,yut

注意:您可以根据需要在desc中输入任何值。

1 个答案:

答案 0 :(得分:1)

aggregate()是您要寻找的。试试这个:

aggregate(desc ~ sol, data = df, paste, collapse = ",")
  sol                               desc
1   1 fry, toast,frt,grt,gty,ytr,uyt,ytr
2   4            hyg,hyu,loi,opu,yut,yut
3   6                       hyt, ytr,oiu

数据

df <- structure(list(sol = c(1L, 1L, 1L, 6L, 4L, 4L), desc = c("fry, toast", 
"frt,grt,gty", "ytr,uyt,ytr", "hyt, ytr,oiu", "hyg,hyu,loi", 
"opu,yut,yut")), .Names = c("sol", "desc"), class = "data.frame", row.names = c(NA, 
-6L))