我正在使用 R 包usethis
/devtools
。该包中有一些我想保留在内部的对象,只是为了避免混乱。我使用的结构是根据源在不同文件中创建对象,所有这些都在我的data-raw
文件夹。例如,文件make_laus_codes.R
准备两个来自劳工统计局的查找代码数据框(一个内部的,称为laus_codes
),以及文件make_decennial_tables.R
准备十年一次人口普查的查找代码(包括内部、decennial_nums
).
如果我拨打这样的电话usethis::use_data(data_name, internal = TRUE)
,如果sysdata.rda
文件已经创建,但我没有选择覆盖它;如果我选择覆盖,它会覆盖整个事情,而不是我所期望的,即将第二个对象附加到sysdata.rda
.
接受的答案在sysdata.rda中存储多个对象:R包开发 https://stackoverflow.com/a/38529727/5325862说打电话usethis::use_data(laus_codes, decennial_nums, internal = TRUE)
,但是那里的评论提出了一个问题:如果这些对象不是同时创建的,该怎么办,这就是我想要讨论的问题。
我的结构的简化版本如下:
数据原始/make_laus_codes.R:
laus_codes <- data.frame(
area = c("Connecticut", "Fairfield County", "Hartford County"),
code = c("ST0900000000000", "CN0900100000000", "CN0900300000000")
)
数据原始/make_decennial_tables.R:
decennial_nums <- c("H002", "H003", "H004", "H005", "H006")
数据原始/make_internal_data.R:
source("./make_laus_codes.R")
source("./make_decennial_tables.R")
usethis::use_data(laus_codes, decennial_nums, internal = TRUE)
这可行,但感觉很尴尬,就像我错过了执行此操作的预期方法。有没有一种更好、更合适和/或预期的方法来做到这一点usethis
?以这种方式获取其他文件感觉很容易出现错误和忘记。