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 ?
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