我在采购.R文件时遇到问题,这导致eval(ei,envir)中的错误:当我在RStudio中手动运行而不采购它时,整个代码像往常一样工作。
答案 0 :(得分:0)
本地= T
要详细说明链接中的答案,如果您有脚本toSource.R
,其中包含以下内容:
print(x)
然后在另一个脚本中,类似这样的操作将不起作用,因为脚本toSource.R
将在全局环境而不是PrintX
的内部环境中进行评估:
printX <- function() {
x <- 2
source('toSource.R')
}
## yields "Error in print(x) : object 'x' not found "
printX()
这将生效,因为x
现在处于全局环境中:
x <- 2
printX()
这也将起作用,因为现在指示源使用调用环境,该环境是PrintX
的内部环境:
printX <- function() {
x <- 2
source('toSource.R', local =T)
}
printX()