Re: [R] R design (was "Variable passed to function not used in function in select)

From: Ben Bolker <>
Date: Tue, 11 Nov 2008 17:35:27 -0500

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

    Ben mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Tue 11 Nov 2008 - 22:40:38 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 11 Nov 2008 - 23:30:24 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive