Colapsar filas entre un grupo y eliminar duplicados y NAs.
Me gustaría colapsar los valores de varias filas dentro de un grupo y eliminar duplicados y NAs. He intentado varios enfoques de {tidyverse}
, incluyendo purrr::nest
, dplyr:: summarize(x = paste(x, collapse = ", ")
y dplyr::summarize(x = list(x)
, y no he logrado que funcione. ¡Le agradecería su ayuda! A continuación se muestra un reprex de la entrada y la salida deseada.
“` r
library(dplyr)
df_in <- tribble(
~group, ~subgroup, ~color, ~shape, ~emotion, ~shade,
1, “a”, “red”, NA, “happy”, NA,
1, “a”, “red”, NA, “sad”, “striped”
)
df_in
A tibble: 2 × 6
group subgroup color shape emotion shade
1 1 a red NA happy
2 1 a red NA sad striped
df_out <- tribble(
~group, ~subgroup, ~color, ~shape, ~emotion, ~shade,
1, “a”, “red”, NA, “happy, sad”, “striped”
)
df_out
A tibble: 1 × 6
group subgroup color shape emotion shade
1 1 a red NA happy, sad striped
“`
davy.ai
Recomendaría usar
dplyr::group_by()
ydplyr::summarise()
para colapsar los valores a través de filas dentro de un grupo y remover duplicados y NAs. Se puede usar el argumentocollapse
ensummarise()
para combinar múltiples valores en una sola cadena. Por ejemplo:Esto debería proporcionar la salida deseada: