gpt4 book ai didi

出于安全原因,包 vignette 中的 R 代码无法在 CRAN 上运行。如何管理这样的小插曲?

转载 作者:行者123 更新时间:2023-12-04 04:30:10 25 4
gpt4 key购买 nike

R 包使用私有(private)的与商业数据库通信
建立连接的用户名和密码。
在 package_vignette.Rmd 文件中有一段代码:

```{r, eval = TRUE}
# set user_name and password from user's configuration file
set_connection(file = "/home/user001/connection.config")

# ask data base for all metrics it has
my_data <- get_all_metrics()

# display names of fetched metrics
head(my_data$name)
```

我无权向 CRAN 提供实际的用户名和密码,
所以我不能随包提供真正的“connection.config”文件。
因此,当然,此代码片段会在 CRAN 检查期间导致错误。

我知道两种绕过 CRAN 检查的方法:
  • 使用 knitr 选项:eval = FALSE .
  • 制作 static vignette with help of the R.rsp包裹。

  • 第一种方式太费时间了,因为 block 很多,
    我经常重写/重建小插图。
    第二种方式对我来说更好。但是可能有更好的模式如何支持这样的小插曲?例如,在包的测试中,我使用 testthat::skip_on_cran()避免 CRAN 检查。

    最佳答案

    最简单的方法就是将数据包含在您的包中。虚拟数据集位于:

  • data目录。这将允许用户轻松访问它。
  • 或在 inst/extdata .用户可以访问此文件,但它有点隐藏。您可以使用 system.file(package="my_pkg") 找到该位置。

  • 在小插曲中你会有一些东西
    ```{r, echo=FALSE}
    data(example_data, package="my_pkg")
    my_data = example_data
    ```

    ```{r, eval = FALSE}
    # set user_name and password from user's configuration file
    set_connection(file = "/home/user001/connection.config")

    # ask data base for all metrics it has
    my_data <- get_all_metrics()
    ```

    关于出于安全原因,包 vignette 中的 R 代码无法在 CRAN 上运行。如何管理这样的小插曲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29631222/

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