R从交易数据中删除项目

时间:2016-03-10 17:03:34

标签: r transactions arules

我正在处理R包arules。我有一个分别命名为6列的csv文件:item1,item2,item3,item4,item5,item6。每个单元格代表一个篮子中的项目,每一行代表整个篮子进行交易。问题是在读取csv文件后:

data <- read.csv('file.csv')

并将其转化为交易:

trans <- as(data, "transactions")

我发现那些空的单元格被认为是名称下的项目,即&#39; itme3 =&#39;。有没有办法指定必须忽略空单元格,还是可以从R事务数据中删除某些项目?

1 个答案:

答案 0 :(得分:0)

我不认为你用于trans的代码会起作用。

您可以尝试这样做。以两列格式排列数据。类似于

  1. User1:a
  2. User2:b
  3. User1:c
  4. USer1:a
  5. User2:d
  6. User2:b
  7. 执行此操作后删除重复的行。在上面的示例中,它将是第2行和第6行。 然后你可以使用包的代码来转置:

    #Transposing data to run algorithm
    trans1 = split(mydate$product, mydata$user_id,"transactions")
    

    因此,当您运行上面的拆分代码时,结果将是一个对象,而不是一个数据帧。然后你可以继续运行apriori。