Reputation: 23898
I want to concatenate rows in a column (Des) if rows of the other column are same (Fn). Any hint please.
library(tidyverse)
tb1 <-
tibble(
Fn = c("A" , "B", "B", "C", "D", "D")
, Des = c("A1", "B1", "B2", "C1", "D1", "D2")
)
tb1
# A tibble: 6 x 2
Fn Des
<chr> <chr>
1 A A1
2 B B1
3 B B2
4 C C1
5 D D1
6 D D2
Output Required
Fn Des
<chr> <chr>
A A1
B B1 B2
C C1
D D1 D2
Upvotes: 0
Views: 309
Reputation: 7818
dplyr
Just group by Fn and paste+collapse rows together!
tb1 %>%
group_by(Fn) %>%
summarise(Des = paste(Des, collapse = " "))
#> # A tibble: 4 x 2
#> Fn Des
#> <chr> <chr>
#> 1 A A1
#> 2 B B1 B2
#> 3 C C1
#> 4 D D1 D2
base
Raggregate(Des ~ Fn, tb1, paste, collapse = " ")
#> Fn Des
#> 1 A A1
#> 2 B B1 B2
#> 3 C C1
#> 4 D D1 D2
Upvotes: 2