我试图搜索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)中的错误:只能用原子组件强制列表” 有人可以帮忙吗?
我用Google搜索了这个示例并运行以下代码而没有问题
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
我该如何纠正?这是因为我的临时文件源自数据框吗?
由于
答案 0 :(得分:1)
我有同样的错误,无法弄明白。最后,我意识到我在description / item字段中有空值。我检查是否存在空/空字符串,因为这可能是问题(假设您已经删除了一个事务的重复记录)。