也许我只是愚蠢,但即便如此,我也会感谢一些有用的评论。
我确实有一个包含 ID、文章和文章属性(即分组)的数据集。使用RODBC
,我从 SQL Server 数据库中获取表(使用sqlFetch
)。因此,我无法read.transactions
从 arules-package 中找到使用方法。格式构造为每一行都是一个ID到文章+分组组合。该表有 2200 万行,大约有 1100 万个唯一 ID。文章库约为 500,000 篇文章。出于说明目的,我创建了一个这样的示例数据框
dat <- data.frame(id <- rep(paste0("id", 1:5),1, each=3),
article <- rep(paste0("A", sample(1051:1069,15,T))),
groupA <- paste0(sample(LETTERS[1:3],15,TRUE), sample(1:3, 15,T))
)
colnames(dat) <- c("id", "article", "groupA")
dat$groupB[dat$groupA == "A1"|dat$groupA == "A2"|dat$groupA =="A3"] <- 1
dat$groupB[dat$groupA == "B1"|dat$groupA == "B2"|dat$groupA =="B3"] <- 2
dat$groupB[dat$groupA == "C1"|dat$groupA == "C2"|dat$groupA =="C3"] <- 3
产生一个类似于这个的data.frame
id article groupA groupB
1 id1 A1053 B3 2
2 id1 A1051 B1 2
3 id1 A1067 B2 2
4 id2 A1054 B1 2
5 id2 A1069 B1 2
6 id2 A1068 A3 1
7 id3 A1053 C3 3
8 id3 A1066 B3 2
9 id3 A1057 A2 1
10 id4 A1056 B1 2
11 id4 A1065 C1 3
12 id4 A1069 A3 1
13 id5 A1066 A3 1
14 id5 A1062 A3 1
15 id5 A1059 B2 2
我想使用 arules 包进行购物篮分析。但是,如果我将 data.frame 传输到一个 transactions 对象,txn <- as(dat, "transactions")
每一行都被标识为一个篮子。是否有可能将 arules 指向 id 变量作为标识符?基本上,我正在从-transformation中的函数中寻找"single"
选项。第二个相关问题是:我可以在 arules 包中使用属性吗?我认为不仅需要在文章级别而且还需要在分组级别上使用算法进行分析。例如,如果我购买商品 A1053,我会找到推荐 groupA B3 的规则。这甚至可能吗?read.transactions
as
apriori