假设我有多个向量
v1 <- c(1:10)
v2 <- c(1:23)
v3 <- c(10:40)
我想将这些向量转换为单个事务对象。我该怎么做?我已经在互联网上搜索了一些内容,但是我只找到了将数据框,数据表转换为事务的方法。同样,这些向量v1
,v2
和v3
用于解释问题。实际上,数据是由python脚本生成的,并且由多个不同长度的集合组成。我不知道将数据存储在R
并将其转换为事务的有效方法。将它们转换为事务后,我的目标是运行apriori
进行关联规则挖掘。
答案 0 :(得分:0)
阅读有关如何创建交易类对象的rules包(pdf页91/92或?transactions
),您只需将列表对象转换为交易类即可。
因此,首先您需要将所有向量都放入一个列表中,可以像这样完成:
var_names <- ls(envir = globalenv(), pattern = "^v[[:digit:]]+")
my_list <- mget(var_names, envir = globalenv())
下一步,将列表名称重命名为事务:
names(my_list) <- paste("Tr", seq_along(my_list), sep = "")
最后将列表强制为事务类对象:
library(arules)
trans1 <- as(my_list, "transactions")
trans1
transactions in sparse format with
3 transactions (rows) and
40 items (columns)