as.double(y)出错:无法强制将'S4'强制转换为'double'类型的向量

时间:2014-02-17 15:30:28

标签: r

我正在应用Aprior算法,并且在绘图时出现错误。

我已经安装了包arulesarulesviz

数据有3个属性。两个被分解,一个属性未分解。我分别采用了属性属性和应用因子函数。代码如下:

New_Train_Wifi = read.xlsx("D:/Train_Test.xls",1)

str(New_Train_Wifi)
'data.frame':   2201 obs. of  3 variables:
 $ Wifi_ID: Factor w/ 4 levels "1st","2nd","3rd",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ Store  : Factor w/ 5 levels "Book_Store","Clothing",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ Mac_ID : num  125 125 125 125 125 125 125 125 125 125 ...

A <- as.factor(Test_ARM_ABC$Wifi_ID)
C <- as.factor(New_Train_Wifi$Mac_ID)
New_Train_Wifi$MacID <- NULL
New_Train_Wifi$MacID <- C
New_Train_Wifi$Mac_ID <- NULL

class(New_Train_Wifi)
[1] "data.frame"
[1] "Wifi_ID" "Store"   "MacID" 
str(New_Train_Wifi)
'data.frame':   2201 obs. of  3 variables:
 $ Wifi_ID: Factor w/ 4 levels "1st","2nd","3rd",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ Store  : Factor w/ 5 levels "Book_Store","Clothing",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ MacID  : Factor w/ 6 levels "100","125","254",..: 2 2 2 2 2 2 2 2 2 2 ...

rules <- apriori(New_Train_Wifi)
inspect(rules)
rules <- apriori(New_Train_Wifi, parameter = list(minlen = 2, supp = 0.10, conf = 0.8), 
                 appearance = list(rhs = c("Wifi_ID=1st", "Wifi_ID=2nd", "Wifi_ID=3rd", 
                 "Wifi_ID=4th"), default="lhs"), control = list(verbose = F))

> inspect(rules.sorted)

#/*Now wen I give below statement in r console */
> plot(rules)
Error in as.double(y) : 
 cannot coerce type 'S4' to vector of type 'double'

上面的陈述是我尝试但无法解决的错误。如果有人能解决它,我将非常感激。

我提到的网站:http://www.rdatamining.com/examples/association-rules

2 个答案:

答案 0 :(得分:16)

我也有这个问题然后意识到我忘了用

加载库
library(arulesViz)

安装包后使用:

install.packages("arulesViz")

答案 1 :(得分:5)

这个问题是由于库安装不完整引起的(我猜它可能会在arulesViz包里放错了名字(版本))。

您可以手动下载https://cran.rstudio.com/bin/windows/contrib/3.3/seriation_1.2-1.zip,然后使用“ r-studio菜单 - &gt; 工具 - &gt; 安装包.. “安装从网站下载的zip文件。

然后尝试重做install.packages("arulesViz")和库(arulesViz),它将是可行的。 完成。