这是一个我似乎无法理解的新手问题。假设您已经构建了一个处理一些数据帧的R脚本。你运行这个脚本,它会打印出结果。平安无事。如何加载在要在工作区中使用的脚本中创建的对象?例如,假设脚本创建数据框df1。我们如何在工作空间中访问它?谢谢。
下面是script...simple函数,它只读取csv文件并计算列2和3...basically之间的差异,我想在工作区中访问spdat
mspreaddata<-function(filename){
# read csv file
rdat<-read.csv(filename,header=T,sep=",")
# compute spread value column 2-3
spdat$sp<-rdat[,2]-rdat[,3]
}发布于 2014-01-09 03:52:21
您应该使用source函数。
即使用source("script.R")
编辑:
有关更多详细信息,请查看文档。它会运行你调用的脚本。然后,这些对象将位于您的工作区中。
或者,您可以使用save保存这些对象,然后使用load加载它们。
发布于 2014-01-09 04:35:30
那么,当您获取它时,mspreaddata函数在您的工作区中不可用吗?因为在那里从来没有创建过spdat。您只是创建了一个函数,而不是运行它。该对象spdat只存在于该函数中,而不存在于该函数之外的任何环境中。您应该添加类似这样的内容
newObject <- mspreaddata("filename.csv")然后,您可以访问newObject
编辑:
还有一种情况是,您的函数中没有创建spdat,因此对spdat$sp<-rdat[,2]-rdat[,3]的调用本身是不正确的。只需使用return(rdat[,2]-rdat[,3])即可。
https://stackoverflow.com/questions/21005110
复制相似问题