[Rd] Assignment of individual values to data frame columns: intentional or unintentional behavior?

Ulrike Grömping groemping at bht-berlin.de
Thu Aug 5 20:14:59 CEST 2010


Gabor Grothendieck schrieb:
> On Thu, Aug 5, 2010 at 12:24 PM, Ulrike Grömping
> <groemping at bht-berlin.de> wrote:
>   
>> Dear developeRs,
>>
>> I have just discovered a strange feature when assigning some values to
>> columns of a data frame: The column is matched by partial matching (as
>> documented), but when assigning a value, a new column with the partial name
>> is added to the data frame that is identical to the original column except
>> for the changed value. Is that intentional ? An example:
>>     
>
> Note that the lack of partial matching when performing assignment is
> also documented.
>
> See second last paragraph in Details section of ?Extract
>   
Yes, I see, thanks. I looked at ?"[.data.frame", where this is not 
documented.

However, given the documentation that partial matching is not used on 
the left-hand side, I would have expected even more that the assignment

sw$Fert[1] <- 10

works differently, because I am using it on the left-hand side. 
Probably, extraction ([1]) is done first here, so that the right-hand 
side won. At least, this is very confusing.

Best, Ulrike



More information about the R-devel mailing list