0

我试图在 R 中搜索与此相关的其他帖子,但没有找到重复的问题(至少在我的努力中)。我知道我需要库中的先验函数(“规则”)。

我有一个大数组文件 A,每一行都是一个列表

user1:  [1,2,3,4]      # [1,2,3,4] is the itemList purchased by this user
user2:  [4]
................

我想找到倾向于一起购买的物品。我应该如何进行?看来我还需要将数据转换为“事务”格式文件。

所以我做了

temp <- split(A, 1:nrow(A))   # temp is now a list of lists
B <- as(temp, "transactions")

但我收到错误“asMethod(object) 中的错误:只能强制使用原子组件列出”任何人都可以帮忙吗?

我用谷歌搜索了这个例子并运行以下代码没有问题

a_list <- list(c("I1","I2","I5"), c("I2","I4"), c("I2","I3"), c("I1","I2","I4"), c("I1","I3"),c("I2","I3"),c("I1","I3"),
c("I1","I2","I3","I5"), c("I1","I2","I3") )

names(a_list) <- paste("T",c(1:9), "00", sep = "")
table5_1 <- as(a_list, "transactions")

temp(在我的代码中)和 a_list 都是类列表,但是

     a_list[1]
[[1]]
[1] "I1" "I2" "I5"

     temp[1]
 $`1`
 $`1`$`1`
 [1] 1,2,3,4

我应该如何纠正这个?这是因为我的临时文件是从数据框派生的吗?

谢谢

4

1 回答 1

1

我有同样的错误,无法弄清楚。最后,我意识到我在描述/项目字段中有空值。我会检查通过的空/空字符串,因为这可能是问题(假设您已经删除了一笔交易的重复记录)。

于 2015-12-11T20:19:41.567 回答