R 需求的先验规则

R 需求的先验规则,r,associations,apriori,R,Associations,Apriori,问题: 无法在PC上使用libraryarules生成apriori规则。当我运行以下函数时: rules <- apriori(df, parameter = list(supp = 0.01, conf = 0.5)) 尝试的解决方案: 在我看来,你的逻辑是正确的,只是需要一些细微的调整 首先,您需要将字符作为因子读取,这意味着在读取数据时应打开stringsAsFactors: df <- read.csv("C:/Titanic.csv", header = TRUE, s

问题:

无法在PC上使用libraryarules生成apriori规则。当我运行以下函数时:

rules <- apriori(df, parameter = list(supp = 0.01, conf = 0.5))
尝试的解决方案:


在我看来,你的逻辑是正确的,只是需要一些细微的调整

首先,您需要将字符作为因子读取,这意味着在读取数据时应打开stringsAsFactors:

df <- read.csv("C:/Titanic.csv", header = TRUE, stringsAsFactors = TRUE)
如果您喜欢像处理因子一样处理第一列,可以这样做

df$Passenger <- as.factor(df$Passenger)

然后,您的初始语句规则感谢您的解决方案@Ekatef。这可能是我使用R的缺点,但它仍然会抛出相同的错误。我还尝试将数据集转换为二进制矩阵,但没有成功。在这一点上,我越来越怀疑这仅仅是安装的一个技术问题,因为在线教程似乎都不起作用……我将继续努力并相应地更新。@graphicdezine我几乎可以肯定问题在于数据格式:读取数据集时,stringsAsFactors应该设置为TRUE。对不起,我以前没注意到。答案现在更新了,我刚刚运行了代码,它似乎起作用了。下一步是让我了解您的解决方案是如何工作的/为什么工作的。今晚我将作进一步评论,以供未来读者参考。非常感谢。如图所示,分类变量在R中称为因子。因为我试图加载分类变量,所以需要首先转换它们。如上所述,R在创建数据帧时的默认行为是将所有字符转换为因子。这让无数新手R用户头痛不已,他们试图弄明白为什么他们的字符列不能正常工作,。。。祝你好运,玩得开心!
df <- read.csv("C:/Titanic.csv", header = TRUE, stringsAsFactors = TRUE)
rules <- apriori(df[ , -1], parameter = list(supp = 0.01, conf = 0.5))
df$Passenger <- as.factor(df$Passenger)