运行 到 "Source as Local Job" 时 RStudio 失败
RStudio fails when run through "Source as Local Job"
代码包含两个文件:
caller.R
:
a <- 1
source("s1.R", encoding = "UTF-8")
b <- fa()
s1.R
:
fa <- function() {
a*2
}
当 caller.R
在 RStudio IDE 中获取 (Crtl+Shift+S) 时,这段代码 运行 可以顺利运行,提供正确的预期结果 b=2
。
然而,当 caller.R
通过“Source as Local Job...”获取时,它会抛出一个错误(葡萄牙语),这意味着执行被中断,因为它无法找到对象 'a':
Error in fa() : objeto 'a' n�o encontrado
Calls: sourceWithProgress -> eval -> eval -> fa
Execu��o interrompida
我已经尝试了所有可能的“Source as Local Job...”选项组合(“运行 job with copy of global environments, etc.)但没有成功。
我需要做什么才能 运行 caller.R 作为本地工作?
如果想在同一个环境下使用,可以尝试使用local = TRUE
source("s1.R", encoding = "UTF-8", local = TRUE)
代码包含两个文件:
caller.R
:
a <- 1
source("s1.R", encoding = "UTF-8")
b <- fa()
s1.R
:
fa <- function() {
a*2
}
当 caller.R
在 RStudio IDE 中获取 (Crtl+Shift+S) 时,这段代码 运行 可以顺利运行,提供正确的预期结果 b=2
。
然而,当 caller.R
通过“Source as Local Job...”获取时,它会抛出一个错误(葡萄牙语),这意味着执行被中断,因为它无法找到对象 'a':
Error in fa() : objeto 'a' n�o encontrado
Calls: sourceWithProgress -> eval -> eval -> fa
Execu��o interrompida
我已经尝试了所有可能的“Source as Local Job...”选项组合(“运行 job with copy of global environments, etc.)但没有成功。
我需要做什么才能 运行 caller.R 作为本地工作?
如果想在同一个环境下使用,可以尝试使用local = TRUE
source("s1.R", encoding = "UTF-8", local = TRUE)