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

Ben Bolker bolker at ufl.edu
Tue Nov 11 23:35:27 CET 2008


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



More information about the R-help mailing list