Пакет dplyr
можно использовать для группировки поля id
в объекте df_y
, свертывания значений n_id
в строку и затем присоединения его к объекту df_x
.
library(dplyr)
df_x <- data.frame(id = c(131,127,126,125,124,122,11), status = "y")
df_y <- data.frame(n_id = c(867,220,212,198,220,212, 198,188,187,166,165,157),
id = c(131, 127,127,127,126,126,126,125,125,125,125,125))
df_y <- df_y %>%
group_by(id) %>%
summarize(list_col = paste(n_id, collapse=", "))
df_x <- df_x %>%
left_join(df_y, by = 'id')
df_x
#> id status list_col
#> 1 131 y 867
#> 2 127 y 220, 212, 198
#> 3 126 y 220, 212, 198
#> 4 125 y 188, 187, 166, 165, 157
#> 5 124 y <NA>
#> 6 122 y <NA>
#> 7 11 y <NA>