我在放在一起包现在我已经工作了将近一年的过程。 我有我所说的哈希表,一个音节查找功能需要。 哈希表实际上只是一个环境(我觉得我不是电脑高手),这是一个查找表。 你可以看到I的功能与下面创建它。 我有一个数据组DICTIONARY
(约20,000个字)被装载在封装时将加载。 我还什么这个DICTIONARY
传递给哈希函数来创建一个新的环境时,包装; 像env <- hash(DICTIONARY)
作为htis现在我怎么加载环境。 我如何在启动时,包被加载,这样使用我的包的创建这个新的环境功能运行?
hash <- function(x, type = "character") {
e <- new.env(hash = TRUE, size = nrow(x), parent = emptyenv())
char <- function(col) assign(col[1], as.character(col[2]), envir = e)
num <- function(col) assign(col[1], as.numeric(col[2]), envir = e)
FUN <- if(type=="character") char else num
apply(x, 1, FUN)
return(e)
}
#currently how I load the environment with the DICTIONARY lookup table
env <- hash(DICTIONARY)
这里是头DICTIONARY
,如果它是有帮助的:
word syllables
1 hm 1
2 hmm 1
3 hmmm 1
4 hmph 1
5 mmhmm 2
6 mmhm 2
7 mm 1
8 mmm 1
9 mmmm 1
10 pff 1
很多人可能会想:“这是由用户来决定是否要加载的环境”。 有效点,但这个包的目标受众是人在识字领域。 在该领域没有多少都是R的用户,所以我必须让这件事情变得尽可能容易使用。 只是想摆脱我为什么要做到这一点,在那里,这样它不会成为一个争论的焦点的理念。
先感谢您。 (PS我已经看了本手册( LINK ),但似乎无法找到关于此主题的任何信息)
编辑:每安德烈的建议,我认为它会是这样的? 但我不知道。 是否在包负载中的所有其他功能和数据集后,该负荷? 这东西是有点混乱给我。
.onLoad <- function(){
env <- hash(DICTIONARY)
}