Hi Edna, Because I am "always" subsetting, I keep the following function handy
mydata[] <- lapply(mydata, function(x) if(is.factor(x)) x[,drop=T] else x) This will strip out all factor levels that have been dropped by a previous subsetting operation. For novice users of R (though I am not suggesting that you are) it's priceless. The original author, as far as I know, is Andy Liaw (author of the randomForest package). HTH, Mark. Edna Bell wrote: > > Hi! > > Suppose I have a factor: > >> fac1 <- factor(rep(c("dog","cat","tree"),c(2,3,4))) >> fac1 > [1] dog dog cat cat cat tree tree tree tree > Levels: cat dog tree >> length(fac1) > [1] 9 > > Now I want to get rid of the dogs: >> fac1 <- fac1[3:9] >> fac1 > [1] cat cat cat tree tree tree tree > Levels: cat dog tree >> > How should I remove the dog from the level, please? > > Thanks in advance, > Edna Bell > > ______________________________________________ > R-help@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. > > -- View this message in context: http://www.nabble.com/factor-question-tp18638814p18639010.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@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.