[R] weird predict function error when I use naive bayes

Uwe Ligges ligges at statistik.tu-dortmund.de
Sat May 5 17:22:34 CEST 2012



On 04.05.2012 13:54, kiinalist wrote:
> Hi,
>
> I tried to use naivebayes in package 'e1071'.
> when I use following parameter, only one predictor, there is an error.
>
>> m<- naiveBayes(iris[,1], iris[,5])
>> table(predict(m, iris[,1]), iris[,5])
> Error in log(sapply(attribs, function(v) { :
> Non-numeric argument to mathematical function

Either use the more convninient formula notation:

m <- naiveBayes(Species ~ Sepal.Length, data = iris)
table(predict(m, iris), iris$Species)


or provide data.frames rather than vectors, hence:


m <- naiveBayes(iris[,1,drop=FALSE], iris[,5])
table(predict(m, iris[,1,drop=FALSE]), iris[,5])

Uwe Ligges



>
> However, when I use two predictors, there is not error any more.
>
>> m<- naiveBayes(iris[,1:2], iris[,5])
>> table(predict(m, iris[,1:2]), iris[,5])
>
> setosa versicolor virginica
> setosa 49 0 0
> versicolor 1 37 19
> virginica 0 13 31
>
> Do you know what is the problem?
>
> Br,
> Luffy
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list