假设我有:
group X Y Z
A cat, dog dog, fox
A fox, chicken dog, fox, chicken
A
B fox, dog
B fox
B bunny
我想根据这三列总结每组的独特动物,
group animal
A cat, dog, fox, chicken
B bunny, dog, fox
动物的顺序并不重要,只要它们具有独特的价值。我试过:
df %>%
group_by(group) %>%
separate_rows("X", sep=",") %>%
distinct %>%
summarise(X = toString(X))
这甚至对一列都不起作用(我得到了一堆NA)
我在想,
df %>% group_by(group) %>% summarise_at(vars("X","Y","Z"), sum)
它适用于不以逗号分隔的数值变量(每行一个值)
3条答案
按热度按时间5n0oy7gb1#
一种方法是:
在基础R中,你可以这样做:
gtlvzcf82#
这里有一个简单的方法(它假设空单元格是
NA
):玩具数据:
vuktfyat3#
我们也可以
unite
,然后在“,"上拆分,最后将unique
值连接起来