gpt4 book ai didi

RMarkdown 不会通过 sqlite 连接从 Rscript 渲染

转载 作者:行者123 更新时间:2023-12-02 06:08:15 25 4
gpt4 key购买 nike

如果 Rmarkdown 文档中有 dplyr SQLite 调用,我将无法使用 Rscript 呈现 Rmarkdown 文档。以这个 MWE (test.Rmd) 为例,它调用 dplyr::lahman_sqlite() 表的本地副本中的表。

---
title: "TestFile"
output: html_document
---

```{r setup, include=FALSE}
library(dplyr)
lahman <- src_sqlite("lahman.sqlite")
```

```{r}
tbl(lahman, "Batting")
```

在实时 R 控制台 session 中,我可以调用 rmarkdown::render("test.Rmd"),并且此文档按预期构建。但是,如果我在命令行上调用 Rscript -e 'rmarkdown::render("test.Rmd")' ,则会收到以下错误:

Quitting from lines 12-13 (test.Rmd)
Error in UseMethod("db_query_fields") :
no applicable method for 'db_query_fields' applied to an object of class "SQLiteConnection"
Calls: render ... make_tbl -> structure -> op_base_remote -> db_query_fields

我在下面附上了我的 sessionInfo,但我在 OS X 和 Ubuntu 上都重复了这个错误。

R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin15.5.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] dplyr_0.5.0

loaded via a namespace (and not attached):
[1] Rcpp_0.12.5 digest_0.6.9 assertthat_0.1 R6_2.1.2 DBI_0.4-1 formatR_1.4 magrittr_1.5 evaluate_0.9
[9] RSQLite_1.0.0 stringi_1.1.1 rmarkdown_0.9.6 tools_3.3.1 stringr_1.0.0 Lahman_4.0-1 yaml_2.1.13 htmltools_0.3.5
[17] knitr_1.13 tibble_1.0

最佳答案

问题来自于使用 Rscriptmethods 包未加载的事实。因此,需要通过在设置 block 中添加 library(methods) 来显式加载它。

关于RMarkdown 不会通过 sqlite 连接从 Rscript 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38838289/

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