可能重复:
如何使用特定变量名保存()
我想知道一个简单的方法是使用一个objectName带有要保存的对象名称的变量来保存R 中的对象.我希望这可以轻松保存对象,其名称在文件名中.
我试图使用get,但我没有设法用它的原始对象名称保存对象.
例:
如果我有一个名为"temp"的对象,我想将其保存在"dataDir"目录中.我将对象的名称放在变量"objectName"中.
尝试1:
objectName<-"temp"
save(get(objectName), file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为R试图保存一个被调用的对象get(objectName),而不是这个调用的结果.所以我尝试了以下方法:
尝试2:
objectName<-"temp"
object<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,因为R保存名为"object"的对象,而不是名称"temp".加载后我有一个"对象"的副本,而不是"临时".(是的,内容相同......但这不是我想要的:)).所以我认为它应该是指针.所以尝试了以下内容:
尝试3:
objectName<-"temp"
object<<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
Run Code Online (Sandbox Code Playgroud)
与尝试2相同的结果.但我不确定我在做我认为我正在做的事情.
这是什么解决方案?
Gre*_*now 19
试试save(list=objectName, file=paste(objectName, '.Rdata', sep='') ).
关键是list参数save采用一个字符串列表,它是要保存的对象的名称(而不是传递的实际对象...).