【发布时间】: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
我已经运行了这段代码
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
一个可能的解决方案:
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)))
【讨论】:
使用 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)
【讨论】: