r - Rscript 无法识别先前创建的变量
问题描述
我正在准备一些 Rscript 自动化,当使用 Rscript 命令(在终端中)运行以下 3 个 R 文件时,运行 [result.R] 后出现以下错误:
Error: object 'a' not found
Execution halted.
我确实在 R 终端中检查了 Rscript 已经创建了变量 [a] 和 [b],所以似乎在运行最终的 Rscript 时,它没有识别出已经在 R 中创建了变量。
我正在运行带有 R 版本 3.4.4 的 Linux Ubuntu 16.04。所有文件都存储在同一个文件夹中。
以下是我的 R 脚本的内容:
#File: a.R
# Content:
a <- 1
save.image ('.RData')
#File: b.R
# Content:
b <- 2
save.image ('.RData')
#File: result.R
# Content:
load('.RData')
c = a + b
save.image('.RData')
有效的场景:
如果我在 R 终端中创建变量 [a] 和 [b],然后使用 Rscript 运行 result.R,它不会抛出错误消息。
解决方案
您需要添加一个load('.RData')
到b.R
. 防止从a.R
.
#File: a.R
# Content:
a <- 1
save.image('.RData')
#File: b.R
# Content:
load('.RData')
b <- 2
save.image('.RData')
#File: result.R
# Content:
load('.RData')
c = a + b
save.image('.RData')