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

在R中按组计算唯一值组合的出现频率

R语言实现分组统计唯一值组合频率

可以用dplyr包完成这个需求,代码如下:

# 如果没安装dplyr先执行安装
# install.packages("dplyr")
library(dplyr)

# 原始数据
organisation <- c("A","A","A","A","B","B","B","B","C","C","C","C","D","D","D","D")
variable <- c("0","0","1","2","0","0","1","1","0","0","1","1","0","0","2","2")
df <- data.frame(organisation,variable)

# 核心处理逻辑
result <- df %>%
  # 按组织维度分组
  group_by(organisation) %>%
  # 提取每组的唯一variable值,排序后用逗号拼接成统一格式的字符串
  summarise(unique_values = paste(sort(unique(variable)), collapse = ",")) %>%
  # 按唯一值组合分组,统计出现次数
  group_by(unique_values) %>%
  summarise(frequency = n())

# 输出结果
print(result)

代码说明:

  • group_by(organisation):确保每个组织的变量值处理独立进行,不会跨组织混淆。
  • paste(sort(unique(variable)), collapse = ","):先提取每组的唯一变量值,排序后用逗号拼接,避免"0,1"和"1,0"被误判为不同组合。
  • 二次分组统计n():直接得到每个唯一值组合对应的出现频率。

运行后会得到符合需求的结果:

# A tibble: 3 × 2
  unique_values frequency
  <chr>             <int>
1 0,1                   2
2 0,1,2                 1
3 0,2                   1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 03:54:27