You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算R语言数据框中不同变量值组合的出现频次

R统计数据框指定列唯一组合的出现次数

你不需要先调用distinct()再手动统计,直接使用dplyr包的count()函数即可一步得到所有唯一组合和对应的出现次数,适配万级甚至更高量级的组合场景:

library(dplyr)

# 你的测试参考数据
n=1000000
X = rbinom(size=1,n,p=0.3)
U = rbinom(size=1,n,p=0.5) 
Y = rbinom(size=1,n,p=0.1)
dat <- data.frame(X, Y, U)

# 统计X、U两列的所有唯一组合的出现次数
count_res <- dat %>% count(X, U, name = "出现次数")

参数说明

  • 你可以将X, U替换为任意需要统计的列组合,支持多列分组
  • name参数可自定义统计次数字段的列名
  • 如果不需要结果按分组列排序,可添加参数sort = FALSE提升运行效率

其他可选实现方案

  • base R原生实现:
# 输出为表格格式
table(interaction(dat$X, dat$U))
# 输出为数据框格式
as.data.frame(table(dat[,c("X", "U")]))
  • 适合同时做其他分组统计的写法:
count_res <- dat %>% 
  group_by(X, U) %>% 
  summarise(出现次数 = n(), .groups = "drop")
  • 超大数据量下推荐使用data.table,性能更高:
library(data.table)
setDT(dat)
count_res <- dat[, .(出现次数 = .N), by = .(X, U)]

内容的提问来源于stack exchange,提问作者gecko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 19:54:03