如何找到最频繁的类别?

问题描述 投票:-3回答:2

我想选择所有具有最高频率的类别,并将它们分配给名为freq_cat的新变量。在以下示例中,字符ab最常见。可以帮我吗?

exm <- data.frame(x=c("a","b","c","d"),
                  f=c(3,3,1,2))

我需要的输出如下:

freq_cat: a b

谢谢!

r
2个回答
1
投票

一种方法是在列exm等于列f的最大值的情况下对f进行子集设置。然后,您可以选择列"x"

exm[exm$f == max(exm$f),"x"]
[1] a b
Levels: a b c d

0
投票

类似的方法是通过which,它检查逻辑条件的索引:

exm$x[which(exm$f==max(exm$f))]
[1] a b
Levels: a b c d
© www.soinside.com 2019 - 2024. All rights reserved.