[R] help with paste

Uwe Ligges ligges at statistik.uni-dortmund.de
Mon Jul 12 16:32:32 CEST 2004


Marc Schwartz wrote:

> On Mon, 2004-07-12 at 01:16, Andrew Criswell wrote:
> 
>>Hello All:
>>
>>Suppose the following little data frame:
>>
>> > x <- data.frame(dog = c(3,4,6,2,8), cat = c(8,2,3,6,1))
>> >
>> > x$cat
>>[1] 8 2 3 6 1
>> >
>>
>>How can I get the paste() function to do the same thing. The command 
>>below is obviously wrong
>>
>> > paste(x, cat, sep = "$")
> 
> 
> 
> You need to quote the "x" and the "cat" as explicit names, otherwise the
> objects 'x' and 'cat' are passed as arguments. 'x' in this case being
> your data frame and 'cat' being the function cat().
> 
> Try this:
> 
> 
>>eval(parse(text = paste("x", "cat", sep = "$")))
> 
> [1] 8 2 3 6 1


OK. That thread gets boring, because nobody is sure what the questioner 
is asking. Anyway, I guess Andrew Criswell is looking for:

    get("x")[["cat"]]

- Use [[]] rather than $ for subsetting with characters ($ is just 
provided for convenience and not that helpful here).
- Use get() to get values from objects specified in form of a character 
vector.


Uwe Ligges



> HTH,
> 
> Marc Schwartz
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.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