The advantage of computers is that they do exactly what they are told.
The disadvantage of computers is that they do exactly what they are told.

R is a set of instructions to the computer, those instructions are a 
combinations from the original programmers and from you.  Who should make 
important decisions about the structure of your data?  A group of (admittedly 
brilliant) programmers who have never seen your data nor know what questions 
you are trying to answer, or you (who hopefully knows more about your data and 
questions)?

I don't claim to be more intelligent/knowledgable than the programmers of R, 
but I am grateful that they have/had sufficient humility to allow for the 
possibility that I may actually know something about my data and questions that 
they don't (or maybe they are just to lazy to do my job for me, but that is 
also appropriate).

In your example below, why do you care what the levels of gender are after the 
subset?  Why waste time/effort dropping the levels for a column that by 
definition only has one value?

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.s...@imail.org
801.408.8111


> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-
> project.org] On Behalf Of Ulrik Stervbo
> Sent: Saturday, September 04, 2010 6:53 AM
> To: r-help@r-project.org
> Subject: [R] Levels in returned data.frame after subset
> 
> Dear List,
> 
> When I subset a data.frame, the levels are not re-adjusted (see
> example). Why is this? Am I missing out on some basic stuff here?
> 
> Thanks
> Ulrik
> 
> 
> > m <- data.frame(gender = c("M", "M","F"), ht = c(172, 186.5, 165), wt
> = c(91,99, 74))
> > dim(m)
> [1] 3 3
> 
> > levels(m$gender)
> [1] "F" "M"
> 
> > s <- subset(m, m$gender == "M")
> > dim(s)
> [1] 2 3
> 
> > levels(s$gender)
> [1] "F" "M"
> 
> > cat <- sapply(s, is.factor); s[cat] <- lapply(s[cat], factor)
> > dim(s)
> [1] 2 3
> 
> > levels(s$gender)
> [1] "M"
> 
> ______________________________________________
> 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.

______________________________________________
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.

Reply via email to