0

I want to condense information in a dataframe to reduce the number of rows. Consider the dataframe:

df <- data.frame(id=c("A","A","A","B","B","C","C","C"),b=c(4,5,6,1,2,7,8,9))
df 
  id b
1 A 4
2 A 5
3 A 6
4 B 1
5 B 2
6 C 7
7 C 8
8 C 9

I want to collapse the dataframe to all unique values of "id" and list the values in variable b. The result should look like

df.results <- data.frame(id=c("A","B","C"),b=c("4,5,6","1,2","7,8,9"))
df.results
  id     b
1  A 4,5,6
2  B   1,2
3  C 7,8,9

A solution for the first step is:

library(dplyr)
df.results <- df %>%
  group_by(id) %>%
  summarise(b = toString(b)) %>%
  ungroup()

How would you turn df.results back into df?

Dominix
  • 403
  • 2
  • 9

0 Answers0