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.
Dear Paul,
I don't think that assign() will work in this context, but I may be wrong.
One way to proceed is with eval() and parse(), assembling the command to be executed as a text string; for example,
eval(parse(text=paste("myList$", varName, " <- aColumn", sep=""))), though you do have to be careful about the environment in which the expression is evaluated -- see the envir argument to eval.
I hope that this helps, John
----------------------------------------------------- John Fox Department of Sociology McMaster University Hamilton, Ontario, Canada L8S 4M4 email: [EMAIL PROTECTED] phone: 905-525-9140x23604 web: www.socsci.mcmaster.ca/jfox
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help