Hi it is not error it is just warning (Beeping a tea kettle with boiling water is also not an error :-) and it tells you pretty explicitly what is wrong see length of your objects
> a<-c("D", "F", "A") > new.dat<-subset(ex.dat, x1 == a) Warning messages: 1: longer object length is not a multiple of shorter object length in: is.na(e1) | is.na(e2) 2: longer object length is not a multiple of shorter object length in: `==.default`(x1, a) > new.dat y1 x1 x2 3 0.5977786 A B 6 2.5470739 A B 9 0.9128595 A B 12 1.0953531 A D 15 2.4984470 A D 18 1.7289529 A D 61 -0.4848938 D B 6 you can do better with %in% operator. HTH Petr On 12 Feb 2007 at 1:51, Michael Rennie wrote: Date sent: Mon, 12 Feb 2007 01:51:54 -0500 To: r-help@stat.math.ethz.ch From: Michael Rennie <[EMAIL PROTECTED]> Subject: [R] Trying to replicate error message in subset() > > Hi, there > > I am trying to replicate an error message in subset() to see what it > is that I'm doing wrong with the datasets I am trying to work with. > > Essentially, I am trying to pass a string vector to subset() in order > to select a specific collection of cases (i.e., I have data for these > cases in one table, and want to select data from another table that > match up with the cases in the first table). > > The error I get is as follows: > > Warning messages: > 1: longer object length > is not a multiple of shorter object length in: is.na(e1) | > is.na(e2) > 2: longer object length > is not a multiple of shorter object length in: > `==.default`(LAKE, g) > > Here is an example case I've been working with (which works) that I've > been trying to "break"such that I can get this error message to figure > out what I am doing wrong in my case. > > y1<-rnorm(100, 2) > x1<-rep(1:5, each=20) > x2<-rep(1:2, each=10, times=10) > > ex.dat<-data.frame(cbind(y1,x1,x2)) > > > ex.dat$x1<-factor(ex.dat$x1, labels=c("A", "B", "C", "D", "E")) > ex.dat$x2<-factor(ex.dat$x2, labels=c("B", "D")) > > a<-c("D", "F") > a > > new.dat<-subset(ex.dat, x1 == a) > new.dat > > I thought maybe I was getting errors because I had cases in my > selection vector ('a' in this case) that weren't in my ex.dat list, > but subset handles this fine and just gives me what it can find in the > larger list. > > Any thoughts on how I can replicate the error? As far as I can tell, > the only difference between the case where I am getting errors and the > example above is that the levels of x1 in my case are words (i.e., > "Smelly", "Howdy"), but strings are strings, aren't they? > > Mike > > > Michael Rennie > Ph.D. Candidate, University of Toronto at Mississauga > 3359 Mississauga Rd. N. > Mississauga, ON L5L 1C6 > Ph: 905-828-5452 Fax: 905-828-3792 > www.utm.utoronto.ca/~w3rennie > > ______________________________________________ > 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. Petr Pikal [EMAIL PROTECTED] ______________________________________________ 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.