Search code examples
rdataframeaggregatesummarize

Search and combine text from the same columns related to a specific variable in R


i have the following example data frame in R:

ID = c(rep(1,4),rep(2,3),rep(3,2),4,5);ID
VAR = c(rep("A",3),"B",rep("C",2),"D",rep("E",2),"F","G");VAR
D = data.frame(ID,VAR);D

My purpose is to construct a separate variable outside the data frame that will search all the ids and print the combined texts related to each id. For example the data frame

ID VAR
1 A
1 A
1 A
1 B
2 C
2 C
2 D
3 E
2 E
4 F
5 G

ideal output given the above data frame in R will be :

ID TEXTS
1 A,B
2 C,D
3 E
4 F
5 G

Any help ?


Solution

  • You can try this

    > aggregate(. ~ ID, unique(D), c)
      ID  VAR
    1  1 A, B
    2  2 C, D
    3  3    E
    4  4    F
    5  5    G
    

    or

    > aggregate(. ~ ID, unique(D), toString)
      ID  VAR
    1  1 A, B
    2  2 C, D
    3  3    E
    4  4    F
    5  5    G