【问题标题】:Rscript does not recognize previously created variablesRscript 无法识别先前创建的变量
【发布时间】:2018-11-07 17:01:27
【问题描述】:

我正在准备一些 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,它不会抛出错误消息。

【问题讨论】:

  • 看起来您正在覆盖“.RData”,而不是在b.R 中附加它。如果你在b.R 中添加load('.RData'),我想你会很高兴。
  • @emilliman5 您的建议有效。如果您将评论移到答案中,我将接受答案。

标签: r rscript


【解决方案1】:

您需要将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')

【讨论】:

    猜你喜欢
    • 2013-06-29
    • 2020-07-26
    • 2021-02-27
    • 2013-05-15
    • 2018-11-12
    • 2019-12-17
    • 2021-01-06
    • 1970-01-01
    • 2014-06-10
    相关资源
    最近更新 更多