【发布时间】:2021-04-19 13:38:36
【问题描述】:
我有一个带参数的仿真模型。
而不是将所有参数传递给主函数(这对用户来说很复杂,因为某些参数的尺寸取决于它们自己,例如如果n=2,vec_n 的长度为 2),我想要一个内部 PARAMETERS包内的对象,所有功能都可以访问,用户可以更改。
我制作了一个包Test,其中包含两个函数和一个内部列表INTERNAL=list(a=2),它保存在sysdata.rda 中。
test_function<-function(b){
INTERNAL$a = b
print(INTERNAL)
second_function()
}
second_function<-function(){
print(INTERNAL$a)
}
但是在加载包并运行它时,我得到以下输出:
> test_function(5)
$a
[1] 5
[1] 2
显然,对象本身不会在函数之外发生变化。
如果能帮我解决这个问题,我将不胜感激。
【问题讨论】:
标签: r