在哪里创建包环境变量?

时间:2017-01-31 09:49:30

标签: r environment-variables r-package

我正在进行数据分析并创建了一个用于存储我的插图和数据的包,如here所述。

我想设置一些可用于我所有包函数的变量。

这些变量定义:数据集的路径,测量特征(如探测位置),物理常数等。

我已经读过,存储这些变量的一种推荐方法是使用环境。

问题是,我在哪里放置创建环境的脚本?

我考虑将它放在onLoad方法中,以确保在加载包时执行它。

1 个答案:

答案 0 :(得分:5)

如果将其放在.onLoad函数(非方法)中,则必须使用assign函数来确保在包名称空间中创建环境。

.onLoad <- function(libname, pkgname)
{
    # ...
    assign("myPackageEnvironment", new.env(), parent.env())
    # ...
}

但你也可以把它放在开放代码中:

myPackageEnvironment <- new.env()

非正式地,您可以将包的.R文件一个接一个地视为包名称空间的环境中的source。因此,在开放代码中运行的任何语句都将直接在那里创建对象。