R将脚本对象加载到工作区

时间:2014-01-08 19:46:28

标签: r object workspace

这是一个我似乎无法弄清楚的新秀问题。假设您已经构建了一个操作一些数据帧的R脚本。您运行脚本,它会打印出结果。一切都很好。如何加载在脚本中创建的对象以便在工作区中使用?例如,假设脚本创建数据框df1。我们如何在工作区中访问它?感谢。

这是脚本...简单函数只是读取一个csv文件并计算第2列和第3列之间的差异...基本上我想访问工作空间中的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]
}

2 个答案:

答案 0 :(得分:17)

您应该使用source功能。

即。使用source("script.R")

编辑:

查看文档以获取更多详细信息。它将运行您调用的脚本。然后,对象将在您的工作区中。

或者,您可以使用save保存这些对象,然后使用load加载它们。

答案 1 :(得分:1)

因此,当您获取该函数时,您的工作区中无法使用函数mspreaddata?因为在那里永远不会创建spdat。您只是创建一个函数而不是运行它。该对象spdat仅存在于该函数内,而不存在于该函数外部的任何环境中。你应该添加像

这样的东西
newObject <- mspreaddata("filename.csv")

然后您可以访问newObject

编辑:

在您的函数中也未创建spdat,因此对spdat$sp<-rdat[,2]-rdat[,3]的调用本身不正确。只需使用return(rdat[,2]-rdat[,3])代替。