我的 inst/extdata 中有一个文件 helper.RData 文件,其中包含
我的包中的函数要使用的变量和数据集,
但不意味着用户可以访问。
我使用以下方法将其加载到包的开头:
load(system.file("extdata","helper.RData", package = "mypackage"))
由于文件很大,这需要相当多的时间,而且特别烦人
在开发过程中(我经常使用该功能load_all()
来自devtools
包裹)。
我宁愿将其延迟加载,以便仅在实际需要时加载文件。
我怎样才能做到这一点?
在能够延迟加载数据之前,您必须将变量保存在支持延迟加载的数据库中。
您可以使用该功能来做到这一点tools:::makeLazyLoadDB
以及后来的功能lazyLoad
.
创建延迟加载数据库。假设您有变量 X 和 Y,则必须创建一个包含它们的环境:
e=new.env(parent=emptyenv())
e$X = X
e$Y = Y
接下来创建数据库:
tools:::makeLazyLoadDB(e,"DBNAME")
当然你可以改变DBNAME
.
您可以使用 R 将其导入lazyLoad("DBNAME")
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)