我正在尝试使用调用save()和load()的包装函数来简化保存和加载对象。
以下是代码:
#Just creates a file path
.z$filePath.set <- function(filename){
return(paste("C:/Users/Michael/Documents/Computer/R/Data/",
filename,sep=""))
}
#Saves an object
.z$file.write <- function(obj,fname){
filepath = .z$filePath.set(fname)
fp = file(filepath,open="wb")
save(obj,file=fp)
close(fp)
}
#Loads an object
.z$file.read <- function(fname){
filepath = .z$filePath.set(fname)
fp = file(filepath,open="rb")
load(fp,envir=.GlobalEnv)
close(fp)
}
#Then run the code (tmp is a large data.frame):
.z$file.write(obj=tmp,fname="tmp.R")
rm(tmp)
.z$file.read(fname="tmp.R")
问题是从文件“tmp.R”读入R的对象被命名 “obj”而不是原来的“tmp”。在调用.z $ file.read()之后重命名对象是一件麻烦事。有没有一种简单的方法可以在.z $ file.read()中将obj分配给tmp?我尝试在.z $ file.read()中放置一个assign语句,但它没有用。
感谢。