在 arules 包中,您可以读取交易数据,例如示例杂货数据集:
groceries <- read.transactions("groceries.csv", sep = ",", rm.duplicates=T)
如果您随后检查您获得的交易:
inspect(groceries[1:3])
items
1 {,
citrus fruit,
margarine,
ready soups,
semi-finished bread}
2 {,
coffee,
tropical fruit,
yogurt}
3 {,
whole milk}
如您所见,它认为每笔交易中的第一项都是空白。它应该如下所示:
items
1 {citrus fruit,
margarine,
ready soups,
semi-finished bread}
2 {coffee,
tropical fruit,
yogurt}
3 {whole milk}
我不确定最新版本的 R 中是否发生了某些变化,因为使用上述确切代码的示例不会遇到此问题。
这是原始 csv 文件在编辑器中的样子(前 2 行):
citrus fruit,semi-finished bread,margarine,ready soups,,,,,,,,,,,,,,,,,,,,,,,,,,,,
tropical fruit,yogurt,coffee,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
尾随逗号的存在是有原因的……它们表明该行(事务)的项目少于项目最多的事务。但正是这些逗号导致了问题。
如果没有 arules 包认为这些空白是项目,我如何阅读这个 csv 文件?