[R] levels update

Erich Neuwirth erich.neuwirth at univie.ac.at
Fri Dec 5 14:02:22 CET 2008


I do the following for a subsetted dataframe:

cleanfactors <- function(mydf){
  outdf<-mydf
  for (i in 1:dim(mydf)[2]){
    if (is.factor(mydf[,i]))
  outdf[,i]<-factor(mydf[,i])
  }
outdf
}


Antje wrote:
> Hello,
> 
> I hope this question is not too stupid. I would like to know how to
> update levels after subsetting data from a data.frame.
> 
> df <- data.frame(factor(c("a","a","c","b","b")), c(4,5,6,7,8),
> c(9,1,2,3,4))
> names(df) <- c("X1","X2","X3")
> 
> my.sub <- subset(df, X1 == "a" | X1 == "b")
> levels(my.sub$X1)
> 
> # still gives me "a","b","c", though the subset does not contain entries
> with "c" anymore
> 
> I guess, the solution is rather simple, but I cannot find it.
> 
> Antje
> 
> ______________________________________________
> 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.
> 
> 
> ------------------------------------------------------------------------
> 
> 
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com 
> Version: 8.0.176 / Virus Database: 270.9.14/1831 - Release Date: 12/4/2008 9:55 PM
> 

-- 
Erich Neuwirth, University of Vienna
Faculty of Computer Science
Computer Supported Didactics Working Group
Visit our SunSITE at http://sunsite.univie.ac.at
Phone: +43-1-4277-39464 Fax: +43-1-4277-39459



More information about the R-help mailing list