R 函数内的数据(包创建)
如果我需要在正在创建的包中使用函数内部的数据集(作为查找表),我是否需要在函数内部显式加载数据集 函数和数据集都是我的包的一部分 这是在函数中使用该数据集的正确方法吗:R 函数内的数据(包创建),r,R,如果我需要在正在创建的包中使用函数内部的数据集(作为查找表),我是否需要在函数内部显式加载数据集 函数和数据集都是我的包的一部分 这是在函数中使用该数据集的正确方法吗: foo <- function(x){ x <- dataset_in_question } foo在R-devel上有一篇关于这个主题的文章(在包开发的背景下),其中有许多观点与这个问题相关: 如果您提供的选项仅适用于您的示例,R本人(即)会告诉您: foo <- function(x){ d
foo <- function(x){
x <- dataset_in_question
}
foo在R-devel上有一篇关于这个主题的文章(在包开发的背景下),其中有许多观点与这个问题相关:
如果您提供的选项仅适用于您的示例,R本人(即)会告诉您:
foo <- function(x){
data("dataset_in_question")
}
foo对于我来说,除了DESCRIPTION
文件中的LazyData:true
之外,还需要使用get()
,以摆脱注释全局变量没有可见绑定…
。我的R版本是3.2.3
foo <- function(x){
get("dataset_in_question")
}
foo可以将数据集作为.rda文件放在R文件夹中,如Hadley所述:
Matthew Jockers在syuzhet数据包中使用了这种方法,包括bing
数据集,如第452行所示:
bing
对用户不可用,但对软件包可用,如所示:syuzhet:::bing
本质上,命令devtools::use_data(…,internal=TRUE)
将以所需的方式设置所有内容。Mhh…我将在函数中使用apply函数,并在数据集中使用函数,但在这种情况下,这可能不是一个选项…我几乎可以肯定它是选项(1)。好的,您可以使用data()
来计算它的副作用,而不是返回值。实际上,data()
的返回值只是数据集的名称,而不是实际变量。例如,尝试一下,x如果您仅将数据集用作查找表而不更改它,是否需要创建新的相同对象?如果有需要,可以考虑将表作为一个正式的参数添加到函数中(<代码> x= DATABETIGNIN问题< /代码>)。deprecated@jzadra没什么大不了的,只是被移动到了usethis包中,作为usethis::use_data
foo <- function(x){
get("dataset_in_question")
}