gpt4 book ai didi

R:如何从 R 包中的 inst/extdata 延迟加载变量

转载 作者:行者123 更新时间:2023-12-04 20:08:44 24 4
gpt4 key购买 nike

我的 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 .

您可以使用 lazyLoad("DBNAME") 在 R 中导入它.

关于R:如何从 R 包中的 inst/extdata 延迟加载变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com