我目前正在尝试使用source()函数导入一段代码。我创建了一个环境,以确保在另一个" R"中定义的导入函数中不会覆盖/删除局部变量/值。脚本。我期待导入的" R"中的变量/值。脚本使用词法作用域并从GLobal环境/父环境返回结果。此情况并非如此。有人可以解释这个错误吗?还有,还有另一种解决这个问题的方法。
double a = twoDArray[i][0];
非常感谢。
答案 0 :(得分:0)
不要附上任何东西。就个人而言,我从不使用附加/分离。 e< - new.env();来源(" tmp.R",local = e); E $ printing_func(20); XXX; e $ xxx您还可以查看github上的klmr模块包(不在CRAN上)或编写包。 - G.格洛腾迪克
e <- new.env()
source("C:/Users/tmp/tmp.R", local=e)
search()
xxx <- "this should not be overwritten"
y <- 10
e$printing_func(10) # the result should be 20!
print(my_newenv$xxx)
# <<< R script imported using source() function >>>
# >>>
# >>>
xxx <- "this overwrote"
printing_func <- function(xx){
xx + y
print("it works")
}