读取的项目数不是read.transactions的列数的倍数

时间:2017-08-27 08:30:09

标签: r associations rules arules

我正在标题

中收到警告消息
  

读取的项目数不是列数的倍数

我已经阅读过有关此警告消息的内容,但我仍然不知道为什么会得到它。

这是我的代码:

data <- read.csv("C:/Users/mouna/Desktop/Targa Consult/BD.csv", header=TRUE,sep=";") 
write.table(data, file ="basket.csv",sep=";",row.names=FALSE,col.names = TRUE)
tr <- read.transactions("basket.csv",format="single",sep=",",cols=c(3,4),rm.duplicates = TRUE) 
summary(tr) 
library(arules)
rules <- apriori(tr,parameter=list(supp=0.005,conf=0.8))

运行

后收到警告信息
tr <- read.transactions("basket.csv",format="single",sep=",",cols=c(3,4),rm.duplicates = TRUE)

因此在运行后

rules <- apriori(tr,parameter=list(supp=0.005,conf=0.8))

我有0条规则。

1 个答案:

答案 0 :(得分:1)

以防您在尝试读取具有不同行数的文件时落在此处。 A post in this mailing list解释了如何查找哪些线路有故障。例如,假设您希望有 6 列,并且您read.table返回错误消息"number of items read is not a multiple of the number of columns"。您可以通过输入以下内容找出引起问题的行:

x <- count.fields("A.txt", sep="\t")
which(x != 6)  # print out the lines that are not correct

此示例适用于制表符分隔的文件,如果具有csv文件,请使用其他分隔符(sep)。