r - 函数内部的attach()

标签 r scoping

我想给函数赋予params参数,然后附加它,以便每次引用列表元素a时都可以使用a代替params $ a。

run.simulation<-function(model,params){
attach(params)
#
# Use elements of params as parameters in a simulation
detach(params)
}

这有问题吗?如果我定义了一个名为c的全局变量,并且还定义了一个“params”列表中一个名为c的元素,其值将在attach命令之后使用?

最佳答案

诺亚(Noah)已经指出,即使在某些示例和书中也看到了使用Attach的想法,但它并不是一个好主意。有办法解决。您可以使用名为with的“本地附加”。在Noah的虚拟示例中,这看起来像

with(params, print(a))

这将产生相同的结果,但更整洁。

关于r - 函数内部的attach(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797797/

相关文章:

javascript - Javascript 中的范围问题

Javascript 函数作用域和提升

r - 使用 ggplot 创建以零为中心的堆积条形图

python - 在全局命名空间中查找类定义中未绑定(bind)的局部变量——这是什么意思?

r - 如何在 R ggplot 中制作此行列表的直方图?

替换Knitr block 评估中的 "print"函数

r - 通过以下方式调用包中的函数是一个好习惯吗:

r - 将带有日期列的数据框转换为时间序列

r - 高斯和 Gamma 分布的混合