【发布时间】:2012-06-20 12:20:22
【问题描述】:
我想知道在 R 中保存对象的简单方法是使用变量objectName 和要保存的对象的名称。我希望这可以轻松保存对象,并在文件名中使用它们的名称。
我尝试使用get,但我没有设法使用它的原始对象名称保存对象。
示例:
如果我有一个名为“temp”的对象,我想将它保存在目录“dataDir”中。我将对象的名称放在变量“objectName”中。
尝试 1:
objectName<-"temp"
save(get(objectName), file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
这不起作用,因为 R 试图保存一个名为 get(objectName) 的对象,而不是这次调用的结果。所以我尝试了以下方法:
尝试 2:
objectName<-"temp"
object<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
这显然不起作用,因为 R 保存名称为“object”的对象,而不是名称“temp”。加载后我有一个“对象”的副本,而不是“临时”。 (是的,内容相同......但这不是我想要的:))。所以我认为它应该是带有指针的东西。于是尝试了以下方法:
尝试 3:
objectName<-"temp"
object<<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
与尝试 2 的结果相同。但我不确定我正在做我认为我正在做的事情。
解决办法是什么?
【问题讨论】: