On 12-07-20 2:50 AM, Martin Ivanov wrote:
Hello,
I want to create and save objects in a loop, but this is precluded by the
following obstacle:
this part of the script fails to work:
assign(x=paste("a", 1, sep=""), value=1);
save(paste("a", 1, sep=""), file=paste(paste("a", 1, sep=""), ".RData",
sep=""))
paste("a", 1, sep="") is equivalent to "a1". So you are saving the
string "a1" to the file "a1.RData". You presumably want to save the
value of the variable a1, not that string. (Though you didn't say that.
It's helpful to describe what you don't like, don't just say it "fails
to work".)
If you have the name of a variable in a string, you can use get() to get
the value. So I think this code would do what you want:
name <- paste0("a", 1)
assign(x=name, value=1)
save(get(name), file=paste0(name, ".RData"))