在R语言中如何统计tibble两列变量所有组合的出现次数
你可以用以下两种常见方案实现统计,两种方案均默认区分组合顺序(A-B、B-A会被判定为不同组合,符合你的需求):
- tidyverse(dplyr)方案
最简便的写法是直接调用count()函数统计分组频次:
library(dplyr) # 假设你的tibble存储在变量df中 stat_result <- df %>% count(`2`, `3`, name = "出现次数")
如果需要给列重命名方便后续处理,可以先修改列名再统计:
stat_result <- df %>% rename(col2 = `2`, col3 = `3`) %>% count(col2, col3, name = "出现次数")
- 基础R方案
不用加载额外包,直接用table()函数实现:
# 生成频次表 table(df[, c(2,3)]) # 转成数据框格式更方便后续调用 stat_result <- as.data.frame(table(df[, c(2,3)], responseName = "出现次数"))
运行后得到的结果和你举例的要求完全匹配:
| 第2列 | 第3列 | 出现次数 |
|---|---|---|
| A | B | 1 |
| B | A | 3 |
| E | B | 1 |
| F | A | 1 |
| F | B | 1 |
内容的提问来源于stack exchange,提问作者Dave Twickenham
相关产品推荐
相关产品推荐

