Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中的脚本之间共享数据帧_R - Fatal编程技术网

如何在R中的脚本之间共享数据帧

如何在R中的脚本之间共享数据帧,r,R,我有多个R脚本;一个清理我的原始数据并生成一个整洁的数据框,还有几个在该数据框上执行功能 当我编写它们时,第一个脚本生成的数据帧在我的RStudio环境中,而其他脚本则毫无问题地引用了生成的数据帧 现在,我正试图从控制台运行它们,第一个脚本生成的数据帧不能用于其他脚本的引用 在脚本之间共享数据帧的最佳方式是什么?您可以尝试使用命令save.image()和load()将工作区保存到文件中,然后将其加载到控制台环境中,因为您的控制台实例和RStudio都有各自独立的环境 这样,您就可以访问以前的脚

我有多个R脚本;一个清理我的原始数据并生成一个整洁的数据框,还有几个在该数据框上执行功能

当我编写它们时,第一个脚本生成的数据帧在我的RStudio环境中,而其他脚本则毫无问题地引用了生成的数据帧

现在,我正试图从控制台运行它们,第一个脚本生成的数据帧不能用于其他脚本的引用


在脚本之间共享数据帧的最佳方式是什么?

您可以尝试使用命令save.image()load()将工作区保存到文件中,然后将其加载到控制台环境中,因为您的控制台实例和RStudio都有各自独立的环境

这样,您就可以访问以前的脚本执行的所有对象。但是,如果您只对生成的数据感兴趣,可以使用save()保存data.frame并使用load()打开它


正如@Dirk Eddelbuettel所提到的,还有很多很好的函数可以保存单个变量,比如saveRDS()readRDS()(它提供了比save()更好的序列化)和write.csv()read.csv()

听起来数据帧好像存储在R环境中。在RStudio中工作,但控制台为每个脚本启动一个新的空环境,因此没有数据可访问。将数据帧保存到一个文件中,然后在后续脚本中加载该文件。我会在第一个脚本末尾编写一个csv,然后在第二个脚本中将其作为csv读取。最快的方法是从包
数据中写入
fwrite
fread
。我建议使用
saveRDS()
readCSV()
。更快、更小(压缩),无需对文本进行序列化和反序列化。创建一个运行所有脚本的脚本如何?对于单个变量,我建议使用saveRDS()和readCSV()。比图片更容易处理,更集中。事实上,我已经忘记了这两个问题,我会相应地更新答案。