[R] parse on left hand side of R assignment

Prof Brian Ripley ripley at stats.ox.ac.uk
Sat May 31 19:55:36 CEST 2003

On Sat, 31 May 2003, Paul E. Johnson wrote:

> I keep finding myself in a situation where I want to calculate a 
> variable name and then use it on the left hand side of an assignment. 
> For example
> iteration <- 1
> varName <- paste("run",iteration,sep="")
> myList$parse(text=varName) <- aColumn
> I want to take some existing variable  "aColumn" and use the name 
> "varName" name for it and put it into a list "myList".  That use fails 
> with this error:
> Error: couldn't find function "(<-"
> I've tried many variations on the theme.
> If I could do this with a data frame, I would be just as happy. Right 
> now I'm using a list rather than a data frame because not all columns 
> are of the same length. But I can work around that.

For a data frame you could use

mydf[paste("run",iteration,sep="")] <- aColumn

and for a list or a data frame

Robject[[paste("run",iteration,sep="")]] <- aColumn

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-help mailing list