Digamos que eu tenha:
group X Y Z
A cat, dog dog, fox
A fox, chicken dog, fox, chicken
A
B fox, dog
B fox
B bunny
Quero resumir os animais únicos por grupo com base nessas três colunas, como
group animal
A cat, dog, fox, chicken
B bunny, dog, fox
A ordem dos animais não importa, desde que sejam valores únicos. Tentei:
df %>%
group_by(group) %>%
separate_rows("X", sep=",") %>%
distinct %>%
summarise(X = toString(X))
O que não funciona nem para uma coluna (recebo vários NAs)
Eu estava pensando em algo como
df %>% group_by(group) %>% summarise_at(vars("X","Y","Z"), sum)
O que funciona para variáveis numéricas não separadas por vírgula (um valor por linha)
Uma maneira seria:
Na base R você poderia fazer:
Aqui está uma maneira fácil (pressupõe que as células vazias sejam
NA
):Dados do brinquedo:
Também podemos
unite
dividir em "," e finalmente concatenar osunique
valores