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.