gpt4 book ai didi

r - 如何将外部数据文件添加到开发 R 包中?

转载 作者:行者123 更新时间:2023-12-04 09:38:34 28 4
gpt4 key购买 nike

我正在 Rstudio 中构建我的 R 包,当我厌倦了创建包的小插图时遇到了一些意想不到的问题。当我在 Rstudio 中点击构建/加载面板时,出现小插图错误,同时创建了包的文档。为了可能解决我遇到的晕影错误,我必须将外部数据添加到我的包中,使用这些数据相应地编译包晕影。我用了devtools::install()命令来安装我的包,但是 inst/目录未创建。 extdata必须位于 inst目录。我也用过devtools::use_data()从我的 PC 添加我的数据,但我无法添加我的外部数据。如何为我的包加载外部数据?我想我不应该手动创建 extdata并将外部数据放在那里。为什么inst/在我使用 devtools::install() 时未创建?如何将一组 csv 文件作为外部数据添加到我的包中?
这是我将在我的小插图中使用的玩具助手函数来读取外部数据:

myFunc <- function(myDir, ...) {
files <- list.files(myDir, full.names = TRUE, "\\.csv$")
readMe <- lapply(files, read.csv)
return(readMe)
}
这是我第一次构建 R 包,遇到一些常见错误。如果我的问题没有很好地说明,我深表歉意。
inst/ 中查找文件, 我需要使用 system.file() ,但是我没有这个目录,加上 myFunc接受文件目录以获取文件并将它们读取为 .csv,这是可以在小插图文件中执行的玩具代码块:
```{r}
library(myPkg)
file.1 <- system.file("extdata", "xxx.csv", "myPkg")
file.2 <- system.file("extdata", "yyy.csv", "myPkg")
myFunc(list(file.1, file.2))

```
如何将外部数据加载到我的包中,以便使用这些数据编译包小插图?为什么 inst/当我点击 devtools::install() 时未创建?谁能帮我怎么做?提前谢谢:)

最佳答案

您应该手动创建 inst/extdata/file.csv在项目的基础目录中(DESCRIPTION 所在的位置)。您可以将要访问的所有文件放在该目录中。

然后获取函数示例或小插图中的文件:

files <- lapply(list.files(system.file('extdata', package = 'my_package'), full.names = TRUE), read.csv)
system.file()返回 extdata 的路径文件夹,然后是 list.files()将创建 extdata 中所有文件的向量.最后,运行 lapply()read.csv()应该为您将所有文件的内容读入一个列表。

关于r - 如何将外部数据文件添加到开发 R 包中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40915385/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com