Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 包括「;“哈希表”;打包_R_Package - Fatal编程技术网

R 包括「;“哈希表”;打包

R 包括「;“哈希表”;打包,r,package,R,Package,我正在整理一个我已经工作了将近一年的程序包。我有一个我称之为哈希表的东西,这是音节查找函数所需要的。哈希表实际上只是一个环境(我想我不是电脑高手),它是一个查找表。您可以在下面看到我创建它的函数。我有一个数据集字典(大约20000个单词),它将在加载包时加载。我还希望在加载包时将此字典传递给哈希函数以创建新环境;类似于env的内容,如果散列不经常更改(从您的问题描述来看,情况似乎如此),则将散列保存到包源代码树中,如下所示: save(env, file="<my_pkg>/R/sy

我正在整理一个我已经工作了将近一年的程序包。我有一个我称之为哈希表的东西,这是音节查找函数所需要的。哈希表实际上只是一个环境(我想我不是电脑高手),它是一个查找表。您可以在下面看到我创建它的函数。我有一个数据集
字典
(大约20000个单词),它将在加载包时加载。我还希望在加载包时将此
字典
传递给哈希函数以创建新环境;类似于
env的内容,如果散列不经常更改(从您的问题描述来看,情况似乎如此),则将散列保存到包源代码树中,如下所示:

save(env, file="<my_pkg>/R/sysdata.rda")
.onLoad
解决的可能性是每次加载包时数据都会更改,例如,因为它正在从某个在线源检索更新

env <- new.env(parent=emptyenv())

.onLoad <- function(libname, pkgname)
{
    ## fill up env
    env[["foo"]] = "bar"
}

env您看过这里列出的参考资料了吗?不,我还没有谢谢你的参考。我想你是在找
?。onLoad
我想这是一个好办法(第一个,然后我会一起从包中删除哈希函数。很好!
.onLoad <- function(){
   env <- hash(DICTIONARY)
}
save(env, file="<my_pkg>/R/sysdata.rda")
env <- local({
    localenv <- new.env(parent=emptyenv())
    ## fill up localenv, then return it
    localenv[["foo"]] = "bar"
    localenv
})
env <- new.env(parent=emptyenv())

.onLoad <- function(libname, pkgname)
{
    ## fill up env
    env[["foo"]] = "bar"
}