Aimin:
1) Please do not spam the r-help list---one request per issue (and two
private mails to the code author) really suffice. Not all contributors
to the R-project are on-line 24/24, and have time to provide immediate
answers.
2) The error occurs because plot.svm() currently does not set valid
defaults for categorical dimensions you are conditioning on for your
2D-plot (in your example: 'P' and 'Aa') which certainly is a bug. I will
commit a fix for the next release of e1071. For the time being, you will
have to explicitly specify the levels of 'P' and 'Aa':
plot(m.svm,p5.new,As~Cur, slice = list(P = factor("821p", levels =
levels(P)), Aa = factor("ALA", levels = levels(Aa))))
(Note that the defaults for the "slice" argument are completely
arbitrary anyway).
Thanks for pointing this out,
David
Aimin Yan wrote:
I have a question about svm in R
I run the following code, all other is ok,
but plot(m.svm,p5.new,As~Cur) is not ok
Do you know why?
install.packages("e1071")
library(e1071)
library(MASS)
p5 <- read.csv("http://www.public.iastate.edu/~aiminy/data/p_5_2.csv")
p5.new<-subset(p5,select=-Ms)
p5.new$Y<-factor(p5.new$Y)
levels(p5.new$Y) <- list(Out=c(1), In=c(0))
attach(p5.new)
m.svm<-svm(Y~P+Aa+As+Cur,data=p5.new)
summary(m.svm)
plot(m.svm,p5.new,As~Cur)
Here is output:
install.packages("e1071")
--- Please select a CRAN mirror for use in this session --- trying URL 'http://rh-mirror.linux.iastate.edu/CRAN/bin/windows/contrib/2.4/e1071_1.5-16.zip' Content type 'application/zip' length 592258 bytes opened URL downloaded 578Kb package 'e1071' successfully unpacked and MD5 sums checked The downloaded packages are in C:\Documents and Settings\aiminy\Local Settings\Temp\RtmpY0B2qb\downloaded_packages updating HTML package descriptions
library(e1071)
Loading required package: class
library(MASS)
p5 <- read.csv("http://www.public.iastate.edu/~aiminy/data/p_5_2.csv")
p5.new<-subset(p5,select=-Ms)
p5.new$Y<-factor(p5.new$Y)
levels(p5.new$Y) <- list(Out=c(1), In=c(0))
attach(p5.new)
m.svm<-svm(Y~P+Aa+As+Cur,data=p5.new)
summary(m.svm)
Call:
svm(formula = Y ~ P + Aa + As + Cur, data = p5.new)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.04
Number of Support Vectors: 758
( 382 376 )
Number of Classes: 2
Levels:
Out In
plot(m.svm,p5.new,As~Cur)
Error in scale(newdata[, object$scaled, drop = FALSE], center =
object$x.scale$"scaled:center", :
(subscript) logical subscript too long
Dr. David Meyer Department of Information Systems and Operations Vienna University of Economics and Business Administration Augasse 2-6, A-1090 Wien, Austria, Europe Tel: +43-1-313 36 4393 Fax: +43-1-313 36 90 4393 HP: http://wi.wu-wien.ac.at/~meyer/