[Rd] surprising behaviour of names<-

Wacek Kusnierczyk Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Fri Mar 13 21:51:47 CET 2009


Tony Plate wrote:
> Wacek Kusnierczyk wrote:
>> [snip]
>> i just can't get it why the manual does not manifestly explain what
>> 'names<-' does, and leaves you doing the guesswork you suggest.
>>
>>   
> I'm having trouble understanding the point of this discussion. 
> Someone is calling a replacement function in a way that it's not meant
> to be used, and is them complaining about it not doing what he thinks
> it should, or about the documentation not describing what happens when
> one does that?

where is it written that the function is not meant to be used this way? 
you get an example in the man page, showing precisely how it could be
used that way.  it also explains the value of 'names<-':

"
 For 'names<-', the updated object.  (Note that the value of
     'names(x) <- value' is that of the assignment, 'value', not the
     return value from the left-hand side.)
"

it does speak of 'names<-' used in prefix form, and does not do it in
any negative (discouraging) way.

>
> Is there anything incorrect or missing in the help page for normal
> usage of the replacement function for 'names'? (i.e., when used in an
> expression like 'names(x) <- ...')

what is missing here in the first place is a specification of what
'normal' means.  as far as i can see from the man page, 'normal' does
not exclude prefix use.  and if so, what is missing in the help page is
a clear statement what an application of 'names<-' will do, in the sense
of what a user may observe.

>
> R does give one the ability to use its facilities in non-standard
> ways.  However, I don't see much value in the help page for 'gun'
> attempting to describe the ways in which the bones in your foot will
> be shattered should you choose to point the gun at your foot and pull
> the trigger.  Reminds me of the story of the guy in New York, who
> after injuring his back in refrigerator-carrying race, sued the
> manufacturer of the refrigerator for not having a warning label
> against that sort of use.

very funny.  little relevant.

vQ



More information about the R-devel mailing list