使用R查看经常一起购买什么产品

时间:2018-10-12 03:33:27

标签: r statistics

我正在尝试使用R创建经常一起购买的产品的频率表(按类别)。

我的数据包含以下信息:

OrderID CategoryCode4

On_line_Data2 <- read_excel("On-line Data2.xlsx", col_types =c("text","text"))

实际上是什么,人们已经购买了多种产品,我们想要创建一个频率图表,以表示“ A”和“ B”被购买了多少次; “ A”与“ C”一起购买; 'A'与'D'; “ B”与“ C”一起购买; 'B'与'D';在大量项目中为“ C”和“ D”。

orderID对于每个订单来说都是唯一的,但是可以针对每个产品记录,因此可以在每一行中重复(仅由类别代码表示。每个类别代码可以在每个订单中重复,因此数据可能如下:

   OrderID   CategoryCode4
---------------------------
    Order1    catA
    Order1    catA
    Order1    catB
    Order2    catA
    Order2    catB
    Order3    catA
    Order3    catC
    Order4    catA
    Order4    catD
    Order5    catA
    Order5    catE

输出类似于

CatA & CatB 2
CatA & CatC 1
CatA & CatD 1
CatA & CatE 1

我不在乎输出是否既有'CatA & CatB = 2'又有'CatB & CatA = 2'或等于3,因为Order1中A的2倍,尽管这不是什么主意。

我完全被困住了,我什至不知道谷歌能够做到这一点。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我不确定您的数据是什么样子,您至少应该提供一部分数据。 尝试使用mtcars数据为您提供一个思路。

library(dplyr)
df <- mtcars %>% group_by(gear) %>% summarise(comb = list(combn(disp, 2)))
comb <- Reduce(rbind, lapply(df$comb, t))
table(comb[,1], comb[,2])