R列出这些项目的组合

Posted

技术标签:

【中文标题】R列出这些项目的组合【英文标题】:R List combinations of items with count of these 【发布时间】:2022-01-22 21:39:04 【问题描述】:

我想查看我有多少条产品组合的记录。有些帐户有几个不同的产品,有些有 3 或 4 个。我已经做了一个分组,它给出了每个帐户附加的产品数量:

test <- data %>%
  unique() %>%
  group_by(ACCOUNT) %>% summarise(number = n())

接下来我要做的是对产品排列进行分组,这样我就可以计算 a+b、b+c、a+b+c、a+b+m、m+n 等的每一个。 我不希望所有可能的排列都存在,但我不知道组合的最大产品数量是多少——这是我正在努力解决的问题之一。 (虽然可能大约是 5 或 6 个)

Edited to add sample data
| Account | Product |
| -------- | -------------- |
| 1    | a           |
| 1  | b            |
|1  |c  |
|2  |a  |
|2   |c  |
|3  |a  |
|3  |c  |
|4  |a  |
|4  |b|

期望的结果 - 单独计算每个独特的组合。

| Product combo | Count |
| -------- | -------------- |
| ab  | 1           |
| ac  | 2            |
|abc |1  |

【问题讨论】:

如果您发布了一个小的可重现数据集,ppl 将能够为您提供帮助 我假设您对一起购买的产品感兴趣(也许不),但您必须向我们提供示例数据(如前所述),但还需要更多关于如何定义您的产品的信息团体。例如 a+b+c 是否也应计入 a+bb+ca+c ?所以除了小样本数据集,还要提供想要的输出。 【参考方案1】:

我使用; 分隔符,因为它看起来更好,但这里是dplyr 版本:

library(dplyr)
df %>%
  group_by(Account) %>%
  summarize(combo = paste(sort(Product), collapse = ";"), .groups = "drop") %>%
  count(combo)
# # A tibble: 3 × 2
#   combo Count
#   <chr> <int>
# 1 a;b       1
# 2 a;b;c     1
# 3 a;c       2

使用这些数据:

df = read.table(text = ' Account  Product 
 1     a           
 1   b            
1  c  
2  a  
2   c  
3  a  
3  c  
4  a  
4  b', header = T)

【讨论】:

以上是关于R列出这些项目的组合的主要内容,如果未能解决你的问题,请参考以下文章

用于打开报告的组合框 - 无法选择组合框中的项目

C#:用 CSV 中的单列填充组合框

个人博客作业内容:需求分析

通过键入选择组合框中的项目

在 R 中按组创建组合

从组合框中选择下一个项目,然后单击 Excel VBA 按钮