On 24/11/11 09:23, matric wrote:
Thanks Duncan,
I knew it. But if I use the complete variable name, I'll have far too
many arguments for my function....

Did you understand Duncan's post?  He told you that

    df[,var]

would work, whereas df$var doesn't.  So he gave you a solution
to the problem whereby you ***don't*** have to use the ``complete
variable name''.

The ``var'' in the foregoing is the object (character string) that you
constructed using paste().  I think you are misinterpreting Duncan
to be suggesting that you use df[,"x_narrow"], df[,"x_wide"] etc.
explicitly.

    cheers,

        Rolf Turner

P. S. But anyway, as Duncan said in a follow-up post, a new design is probably
called for.

        R. T.
On 23 November 2011 20:59, Duncan Murdoch-2 [via R]
<ml-node+s789695n4101308...@n4.nabble.com>  wrote:
On 23/11/2011 2:29 PM, matric wrote:
Hi,
I'd like to create a function that accepts as arguments a string that is
to
be substituted within a variable name. For instance, suppose I have a data
frame df:

df<-data.frame(x_narrow=c(rnorm(100,0,1)),x_wide=c(rnorm(100,0,10)))

What I have in mind is something like:

f<- function(string){
var = paste("x_",string,sep = "")
df$var
}

which does not work. Any suggestion for modifications? Thanks in advance,
For indexing a dataframe, use the name as the column index:

df[, var]

will work.

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to