在 R 包中添加数据集
Adding Dataset in R Package
我想知道在我自己的 R 包中添加数据集的简单程序。我尝试关注 https://www.youtube.com/watch?v=Bj0gHafa4GE 但在那之后我不知道为什么数据没有出现在 R 中。因为包在 CRAN 中成功上传,名为 "DEEVD"
。如果我写
> data(Rhone)
Warning message:
In data(Rhone) : data set ‘Rhone’ not found
我不知道我在哪里错过了连接,因为在 R-CMD 检查期间没有错误,数据帮助文件运行良好。
如果需要任何进一步的细节,请指导我并写在评论部分。
编辑:
@Mossa 的回答非常有用,但它在 Rstudio 中可以正常工作。当我在 CRAN 中更新我的包时,出现了同样的问题。下载后可以查看DEEVD
好吧,我终于可以回答了
问题出在您的 src/Rhone.R
文件中。
在这里你重新定义 Rhone
。这不是这个文件应该包含的内容。
相反,此文件 src/Rhone.R
应该包含数据集 Rhone
.
的文档
#' Documentation for `Rhone` should reside here.
#'
#'
"Rhone"
现在,我是这样解决的。
首先,在 Rstudio 中将包作为项目打开。
然后(如果你还没有)通过 install.packages("usethis")
.
安装 {usethis}
包
然后运行usethis::use_data_raw("Rhone")
。您可以阅读以下文档
这个函数,了解它的作用:
> usethis::use_data_raw("Rhone")
√ Setting active project to
[REDACTED]
√ Creating 'data-raw/'
√ Adding '^data-raw$' to '.Rbuildignore'
√ Writing 'data-raw/Rhone.R'
* Modify 'data-raw/Rhone.R'
* Finish the data preparation script in 'data-raw/Rhone.R'
* Use `usethis::use_data()` to add prepared data to package
现在,转到 data-raw/Rhone.R
文件,将 `Rhone 的定义放在那里。
最后,data-raw/Rhone.R
应该是这样的:
## code to prepare `Rhone` dataset goes here
Rhone <-
c(
1355,
1492,
1692,
1766,
1903,
2040,
2177,
2314,
2451,
2588,
2725,
2862,
2999,
3136,
3273,
3410,
3547,
3686,
3822,
3959,
4096,
4233,
4370
)
usethis::use_data(Rhone, overwrite = TRUE)
Run/source 这个脚本。这现在将名为 Rhone.rda
的文件保存到 data/
-文件夹。
现在,当你构建你的包时,这个数据文件是唯一的文件
与名称 Rhone
相关联。而不是重新定义它,就像以前发生的那样。
如果你改变Rhone
的定义,那么你必须re-run/re-source data-raw/Rhone.R
。但只有当您更改 Rhone
时,您才需要这样做。而且你只能在 data-raw/Rhone.R
内更改 Rhone
。没有其他地方可以改变 Rhone
.
如果您构建并加载您的包,那么您之前使用的代码将起作用。
> library(DEEVD)
> data(Rhone)
> Rhone
[1] 1355 1492 1692 1766 1903 2040 2177 2314 2451 2588
[11] 2725 2862 2999 3136 3273 3410 3547 3686 3822 3959
[21] 4096 4233 4370
我想知道在我自己的 R 包中添加数据集的简单程序。我尝试关注 https://www.youtube.com/watch?v=Bj0gHafa4GE 但在那之后我不知道为什么数据没有出现在 R 中。因为包在 CRAN 中成功上传,名为 "DEEVD"
。如果我写
> data(Rhone)
Warning message:
In data(Rhone) : data set ‘Rhone’ not found
我不知道我在哪里错过了连接,因为在 R-CMD 检查期间没有错误,数据帮助文件运行良好。 如果需要任何进一步的细节,请指导我并写在评论部分。 编辑: @Mossa 的回答非常有用,但它在 Rstudio 中可以正常工作。当我在 CRAN 中更新我的包时,出现了同样的问题。下载后可以查看DEEVD
好吧,我终于可以回答了
问题出在您的 src/Rhone.R
文件中。
在这里你重新定义 Rhone
。这不是这个文件应该包含的内容。
相反,此文件 src/Rhone.R
应该包含数据集 Rhone
.
#' Documentation for `Rhone` should reside here.
#'
#'
"Rhone"
现在,我是这样解决的。
首先,在 Rstudio 中将包作为项目打开。
然后(如果你还没有)通过 install.packages("usethis")
.
{usethis}
包
然后运行usethis::use_data_raw("Rhone")
。您可以阅读以下文档
这个函数,了解它的作用:
> usethis::use_data_raw("Rhone")
√ Setting active project to
[REDACTED]
√ Creating 'data-raw/'
√ Adding '^data-raw$' to '.Rbuildignore'
√ Writing 'data-raw/Rhone.R'
* Modify 'data-raw/Rhone.R'
* Finish the data preparation script in 'data-raw/Rhone.R'
* Use `usethis::use_data()` to add prepared data to package
现在,转到 data-raw/Rhone.R
文件,将 `Rhone 的定义放在那里。
最后,data-raw/Rhone.R
应该是这样的:
## code to prepare `Rhone` dataset goes here
Rhone <-
c(
1355,
1492,
1692,
1766,
1903,
2040,
2177,
2314,
2451,
2588,
2725,
2862,
2999,
3136,
3273,
3410,
3547,
3686,
3822,
3959,
4096,
4233,
4370
)
usethis::use_data(Rhone, overwrite = TRUE)
Run/source 这个脚本。这现在将名为 Rhone.rda
的文件保存到 data/
-文件夹。
现在,当你构建你的包时,这个数据文件是唯一的文件
与名称 Rhone
相关联。而不是重新定义它,就像以前发生的那样。
如果你改变Rhone
的定义,那么你必须re-run/re-source data-raw/Rhone.R
。但只有当您更改 Rhone
时,您才需要这样做。而且你只能在 data-raw/Rhone.R
内更改 Rhone
。没有其他地方可以改变 Rhone
.
如果您构建并加载您的包,那么您之前使用的代码将起作用。
> library(DEEVD)
> data(Rhone)
> Rhone
[1] 1355 1492 1692 1766 1903 2040 2177 2314 2451 2588
[11] 2725 2862 2999 3136 3273 3410 3547 3686 3822 3959
[21] 4096 4233 4370