首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为arules准备事务数据

如何为arules准备事务数据
EN

Stack Overflow用户
提问于 2016-04-28 08:10:12
回答 1查看 1.6K关注 0票数 0

我已经挖了三天的问题了,所以终于有勇气在这里问了。我有一个379,584个条目的数据集,我想把它提供给R中的"arules“

看上去像这样

答:如果我尝试使用格式=“篮子”,我会做以下操作

代码语言:javascript
复制
sales <- read.csv("sales.csv", sep=";")
s1 <- split(sales$product_id, sales$order_id)
s1 <- unique(s1)

tr <- as(s1, "transactions")

这给了我一个错误“不能强制使用重复项的事务列表”。

B.如果我使用格式=“单张”

代码语言:javascript
复制
tr <- read.transactions("sales.csv",
         sep=";", format = "single", cols = c(4,2))

我也有同样的错误“不能强迫使用重复项的事务列表”。

我已经检查了文件的副本和Excel找不到任何。我相信麻烦是微不足道的,但我只是被困住了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-28 09:20:50

显然,唯一(S1)正在给您的编码带来一些问题。需要吗?

我仅仅通过散列这一行就成功地创建了事务。

代码语言:javascript
复制
sales <- structure(list(sku = c(207426L, 207422L, 207424L, 9793L, 33186L, 
72406L), product_id = c(15729L, 15725L, 15727L, 15999L, 15983L, 
15992L), item_id = 1:6, order_id = c(1L, 1L, 1L, 2L, 2L, 2L)), 
.Names = c("sku", "product_id", "item_id", "order_id"), 
class = "data.frame", row.names = c(NA, -6L))

s1 <- split(sales$product_id, sales$order_id)
#s1 <- unique(s1)

tr <- as(s1, "transactions")
tr

transactions in sparse format with
 2 transactions (rows) and
 6 items (columns)

如果确实需要unique,请运行以下命令:

代码语言:javascript
复制
s1 <- lapply(s1, unique)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36908851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档