如何统计R语言data.frame中num列各数值的出现频次?
嗨,我来给你分享几种在R里统计num列数值频次的实用方法,都能得到你想要的结果:
方法1:基础R原生table()函数
这是最轻量化的方式,不需要额外加载包,先用table()统计频次,再转换为数据框格式:
# 先创建你的数据框 df1 <- data.frame(num = c(1,1,1,2,2,2,3)) # 统计频次并转为数据框 freq_result <- as.data.frame(table(df1$num)) # 修改列名匹配你的需求 colnames(freq_result) <- c("num", "frequency") # 查看结果 print(freq_result)
运行后输出的结果就是:
num frequency 1 1 3 2 2 3 3 3 1
方法2:tidyverse风格的dplyr::count()
如果你平时习惯用tidyverse系列工具处理数据,dplyr的count()函数可以一步搞定,还能直接指定频次列的名称:
# 先加载dplyr包(如果没安装先运行install.packages("dplyr")) library(dplyr) df1 <- data.frame(num = c(1,1,1,2,2,2,3)) # 直接统计并指定列名 freq_result <- df1 %>% count(num, name = "frequency") print(freq_result)
这个代码运行后会直接生成你需要的两列数据框,不用额外修改列名,非常高效!
内容的提问来源于stack exchange,提问作者rek
相关产品推荐
相关产品推荐

