[R] help with paste

Duncan Murdoch dmurdoch at pair.com
Mon Jul 12 15:59:36 CEST 2004


On Mon, 12 Jul 2004 13:16:06 +0700, Andrew Criswell
<r-stats at arcriswell.com> 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 = "$")

I'm not 100% sure I know what the "same thing" is, but I think you
want

 eval(parse(text=paste("x", "cat", sep="$")))

The parse() function converts the string to an expression, and the
eval() function evaluates it.  You can use variables in place of "x"
and "cat" if you want, e.g.

 animal <- "dog"
 eval(parse(text=paste("x", animal, sep="$")))

Duncan Murdoch




More information about the R-help mailing list