如何用R语言统计数字列表中各唯一数值的出现次数?
在R中统计数字列表的出现次数:快捷方法汇总
当然有啦!在R语言里统计数字列表的元素出现次数,有好几个非常便捷的方法,从基础内置函数到tidyverse工具都有,我给你列几个最常用的:
1. 基础R的table()函数(最直接)
这是最常用的基础方法,不需要额外安装包,直接就能用。它会返回一个频数表,键是列表里的数字,值是对应的出现次数。
举个例子:
# 创建一个数字向量 num_list <- c(2, 3, 2, 5, 3, 3, 1, 2, 5) # 统计出现次数 frequency_table <- table(num_list) print(frequency_table)
输出结果会是:
num_list 1 2 3 5 1 3 3 2
如果想把结果转换成更易处理的数据框格式,可以用as.data.frame():
freq_df <- as.data.frame(frequency_table) colnames(freq_df) <- c("数字", "出现次数") # 重命名列 print(freq_df)
2. tidyverse中的count()函数(适合数据框工作流)
如果你平时用tidyverse系列工具(比如dplyr),count()函数会更贴合你的工作习惯,尤其是当你的数字列表是数据框的一列时。
例子:
library(dplyr) # 把向量转成数据框(如果本来就是数据框直接用列名就行) num_df <- tibble(数字 = c(2, 3, 2, 5, 3, 3, 1, 2, 5)) # 统计次数 num_df %>% count(数字, sort = TRUE) # sort=TRUE可以按次数降序排列
输出结果是一个整洁的数据框,方便后续分析:
# A tibble: 4 × 2 数字 n <dbl> <int> 1 2 3 2 3 3 3 5 2 4 1 1
3. plyr包的count()函数(另一个选择)
如果不用tidyverse,也可以用plyr包的count()函数,直接对向量操作:
library(plyr) num_list <- c(2, 3, 2, 5, 3, 3, 1, 2, 5) count(num_list)
输出同样是数据框格式,包含x(数字)和freq(次数)两列。
这些方法都能快速帮你完成统计需求,根据你的工作场景选就行~
内容的提问来源于stack exchange,提问作者Heisenberg
相关产品推荐
相关产品推荐

