Peter Dalgaard wrote: > Ben Bolker wrote: > >> >> Sometime soon when I have the time and energy I will start >> campaigning for an additional "drop" argument to subset that >> does what one expects (!!??) with subsetted factor variables ... > > Not that one again! For at least one other value of one, the expectation > is the opposite: Factor levels do not go away just because they happen > not to be present in data. >
> fct <- lapply(dd, is.factor) > dd[fct] <- lapply(dd[fct], "[", drop=TRUE) > > and begone with it... > That's why (I think) it should be an *** optional argument with default set to FALSE *** ... it's clear from the past traffic on the list (I won't take the time to dig up the thread references right now) that there is at the very least a significant minority of users who expect the opposite, or at least would like a reasonably transparent way (not involving chicken entrails or mysterious incantations :-) ) to make this behavior happen when they do want it. Should one need to understand lapply(), the indexing of data frames as list entries (rather than as columns), and the idea of "[" as a function just to understand how one drops factor levels in this case? I know we shouldn't have a function for every operation that can be done by composing more basic commands, but a "drop" argument seems like a very mild addition -- like adding 1 degree of freedom to an already very complex model ... cheers Ben ______________________________________________ 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.