[R] how to assign a value?
William Dunlap
wdunlap at tibco.com
Sun Dec 11 20:14:13 CET 2011
I find that get() and assign() are awkward to use
and that the syntax is easier if you put your objects into
a list or environment. To me, it also makes it
clearer what the code is doing and keeps the output
of objects() shorter and easier to manage. E.g.,
nResults <- 9
results <- vector("list", nResults) # or results <- new.env()
for(i in 1:nResults) {
resultName <- paste("a.", i, sep="")
results[[resultName]] <- 1:i
results[[resultName]][i] <- i+50
}
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Jinsong Zhao
> Sent: Sunday, December 11, 2011 7:28 AM
> To: r-help at r-project.org
> Subject: [R] how to assign a value?
>
> Hi there,
>
> I hope to modify values in a vector or matrix in the following code:
>
> for (i in 1:9) {
> assign(paste("a.", i, sep = ""), 1:i)
> get(paste("a.", i, sep = ""))[i] <- i+50
> }
>
> I get the following error message:
>
> Error in get(paste("a.", i, sep = ""))[i] <- i + 50 :
> target of assignment expands to non-language object
>
> I have read the FAQ "How can I turn a string into a variable?", however,
> I don't find a way to deal with:
>
> get(paste("a.", i, sep = ""))[i] <- i+50
>
> Any suggestions? Thanks in advance!
>
> Regards,
> Jinsong
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list