我在获取.R文件时遇到问题,这导致eval(ei,envir)中的错误:。当我在RStudio中手动运行而不采购它时,整个代码的工作原理与往常一样。
本地= 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()