使用环境中的功能

时间:2018-01-10 12:28:37

标签: r

我目前正在尝试使用source()函数导入一段代码。我创建了一个环境,以确保在另一个" R"中定义的导入函数中不会覆盖/删除局部变量/值。脚本。我期待导入的" R"中的变量/值。脚本使用词法作用域并从GLobal环境/父环境返回结果。此情况并非如此。有人可以解释这个错误吗?还有,还有另一种解决这个问题的方法。

double a = twoDArray[i][0];

非常感谢。

1 个答案:

答案 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")
}