我正在进行数据分析并创建了一个用于存储我的插图和数据的包,如here所述。
我想设置一些可用于我所有包函数的变量。
这些变量定义:数据集的路径,测量特征(如探测位置),物理常数等。
我已经读过,存储这些变量的一种推荐方法是使用环境。
问题是,我在哪里放置创建环境的脚本?
我考虑将它放在onLoad方法中,以确保在加载包时执行它。
答案 0 :(得分:5)
如果将其放在.onLoad
函数(非方法)中,则必须使用assign
函数来确保在包名称空间中创建环境。
.onLoad <- function(libname, pkgname)
{
# ...
assign("myPackageEnvironment", new.env(), parent.env())
# ...
}
但你也可以把它放在开放代码中:
myPackageEnvironment <- new.env()
非正式地,您可以将包的.R文件一个接一个地视为包名称空间的环境中的source
。因此,在开放代码中运行的任何语句都将直接在那里创建对象。