[R] simple question about variables....

Jacques VESLOT jacques.veslot at good.ibl.fr
Thu Jul 13 10:32:19 CEST 2006


OBJ$"toto" works to...

 > b <- as.data.frame(matrix(1:4,2))
 > b
   V1 V2
1  1  3
2  2  4
 > b$"V1"
[1] 1 2

but varname is not evaluated in OBJ$varname.

-------------------------------------------------------------------
Jacques VESLOT

CNRS UMR 8090
I.B.L (2ème étage)
1 rue du Professeur Calmette
B.P. 245
59019 Lille Cedex

Tel : 33 (0)3.20.87.10.44
Fax : 33 (0)3.20.87.10.31

http://www-good.ibl.fr
-------------------------------------------------------------------


Joerg van den Hoff a écrit :
> Stéphane Cruveiller wrote:
> 
>>Dear R users,
>>
>>I have a simple question on variable manipulation.
>>Imagine I have an object "OBJ" that has "toto" as one of its variables.
>>I would like to understand why if I do
>>
>> > varname <- "toto"
>>
>> >OBJ$varname                             returns no results
>>
>>whereas
>>
>> > OBJ[varname]                            returns the column entitled 
>>"toto"
>>
>>
>>Thanks for your help.
>>
>>Stéphane.
>>
> 
> 
> because if the value of `varname' is substituted in the expressions, in 
> the first case that yields
> 
> OBJ$"toto" and in the second
> OBJ["toto"]
> 
> 
> the latter is valid, the former is not (you'd need `OBJ$toto' there), 
> read ` ?"$" ':
> 
> "...Both '[[' and '$' select a single element of the list.  The main
>       difference is that '$' does not allow computed indices, whereas
>       '[[' does.  'x$name' is equivalent to 'x[["name"]]'..."
> 
> 
> not, too, the difference between `[' (sublist) and `[[' (single element 
> extraction)
> 
> joerg
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>



More information about the R-help mailing list