从R中的多个向量创建事务

时间:2019-01-01 11:49:13

标签: r

假设我有多个向量

v1 <- c(1:10)
v2 <- c(1:23)
v3 <- c(10:40)

我想将这些向量转换为单个事务对象。我该怎么做?我已经在互联网上搜索了一些内容,但是我只找到了将数据框,数据表转换为事务的方法。同样,这些向量v1v2v3用于解释问题。实际上,数据是由python脚本生成的,并且由多个不同长度的集合组成。我不知道将数据存储在R并将其转换为事务的有效方法。将它们转换为事务后,我的目标是运行apriori进行关联规则挖掘。

1 个答案:

答案 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)