我的inst / extdata中包含一个文件helper.RData文件 我的包中的函数使用的变量和数据集, 但并不意味着用户可以访问。
我使用以下方法将其加载到包的开头:
load(system.file("extdata","helper.RData", package = "mypackage"))
由于文件很大,这需要相当多的时间,而且特别烦人
在开发过程中(我使用了load_all()
包中的函数devtools
。)
我宁愿让它延迟加载,以便只在实际需要时加载文件。
我该怎么做?
答案 0 :(得分:4)
在能够延迟加载数据之前,必须将变量保存在支持延迟加载的数据库中。
您可以使用函数tools:::makeLazyLoadDB
以及函数lazyLoad
。
创建延迟加载数据库。假设你有变量X和Y,你必须创建一个包含它们的环境:
e=new.env(parent=emptyenv())
e$X = X
e$Y = Y
接下来你创建数据库:
tools:::makeLazyLoadDB(e,"DBNAME")
当然,您可以更改DBNAME
。
您可以使用lazyLoad("DBNAME")
在R中导入它。