分配给R中的环境

时间:2016-07-28 20:36:13

标签: r variable-assignment evaluation expression-evaluation

代码:

env <- new.env()
assign("X", value = 2,  pos = env)
eval(X, envir = env)

导致错误:&#34;未找到X&#34;

然而:

ls(envir = env)

返回&#34; X&#34;

为什么eval不返回2?

1 个答案:

答案 0 :(得分:4)

这应该有效:

eval(quote(X),envir=env)

问题是它是否尝试评估X然后将其传递给eval,但X在主环境中没有值,因此它会出错。放quote告诉eval在X

中查找env