我想按列a
分组,并为每个唯一的a
选择最常见的因子b
。例如:
tibble(a = c(1,1,1,2,2,2), b = factor(c('cat', 'dog', 'cat', 'cat', 'dog', 'dog'))) %>%
reframe(b = most_common(b), .by = a)
我希望它能产生:
| 一个|B|
| --------------|--------------|
| 1|猫|
| 二|狗|
但是,most_common
函数不存在。是否有一个有效的R函数用于此目的?这一定是一个非常常见的数据清理需求(我需要它的目的)。我搜索并找到了实现mode
函数的人。我可以使用其中的一个,但他们似乎效率低下。有没有更好的方法来解决这个整体问题?
1条答案
按热度按时间brccelvz1#
我们可以使用
table
+max.col
它给出了
或者像下面这样使用
dplyr
它给出了