首页 > 解决方案 > 从 R 中的多个向量创建事务

问题描述

假设,我有多个向量,比如

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

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

标签: r

解决方案


阅读有关如何创建事务类对象的 arules 包(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)

推荐阅读