【问题标题】:Find the factor level with the highest frequency in a column/variable [duplicate]查找列/变量中频率最高的因子水平[重复]
【发布时间】:2021-12-28 22:16:55
【问题描述】:

我已经运行了这段代码

var <- c("A","A","A","A","B","B","B","B","B","B","C","C","C")
table(var)
> table(var)
var
A B C 
4 6 3 

对于因子“B”,最大频率为 6。 是否有一个函数只返回频率最高的因子的名称“B”。 非常感谢任何帮助。谢谢

【问题讨论】:

    标签: r


    【解决方案1】:

    一个可能的解决方案:

    library(tidyverse)
    
    var <- c("A","A","A","A","B","B","B","B","B","B","C","C","C")
    table(var) %>% which.max %>% names
    
    #> [1] "B"
    

    在基础 R 中:

    names(which.max(table(var)))
    

    【讨论】:

      【解决方案2】:

      使用 tidyverse:

      library(tidyverse)
      
      var <- c("A","A","A","A","B","B","B","B","B","B","C","C","C")
      
      df <- tibble(var = var)
      
      df %>% 
        count(var,sort = TRUE) %>% 
        slice(1) %>% 
        pull(var)
      #> [1] "B"
      

      由reprex package 创建于 2021-11-17 (v2.0.1)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-07
        • 2013-10-08
        • 1970-01-01
        • 2017-05-23
        • 2022-06-28
        相关资源
        最近更新 更多