[Rd] Bug in subsetting data frame (PR#13515)

Wacek Kusnierczyk Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Tue Feb 10 15:02:20 CET 2009


Wacek Kusnierczyk wrote:
> Stavros Macrakis wrote:
>   
>> Don't know if this is the problem, but....
>>
>> It is a bad idea to set data.frame <- xxx since R has a single
>> namespace for functions and variables.
>>
>>   
>>     
>
>
> the issue is, if you use a name as an operator, it's the first *function
> value*, not just *value*, found on the search path that will be used. 
> in the example you referred to, if you assign a non-function value to
> data.frame, an attempt to apply data.frame will get the function from
> package:base:
>
> data.frame = 0
> find('data.frame')
> find('data.frame', mode='function')
>   

... but if you really need to modify data.frame in place, you can:

pos = grep('^package:base$', search())
unlockBinding('data.frame', as.environment(pos))
assign('data.frame', function(...) NULL,  as.environment(pos))
lockBinding('data.frame',  as.environment(pos))

vQ



More information about the R-devel mailing list