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/ ______________________________________________ R-help@stat.math.ethz.ch 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.