R 函数内使用load加载全局变量

问题

之前的代码中把训练的模型存储到文件中,之后调用的时候会通过函数load加载。这次把load的调用包装到一个函数内,结果怎么都load不进来(当前函数内有效,切换到其他函数时加载的全局变量global.model就为空了)。经过研究,发现load把文件内的变量加载到当前函数environment的局部变量里了。

解决方案

在调用load之后,把函数内局部变量的值用<<-赋给全局变量。

1
2
 load("globalmodels.saved")
 global.model <<- global.model