knitr sql块不将数据保存到变量中

Posted

技术标签:

【中文标题】knitr sql块不将数据保存到变量中【英文标题】:knitr sql chunk not saving data into variable 【发布时间】:2017-08-07 22:36:45 【问题描述】:

当我以交互方式一一运行所有块时,带有 SQL 块的 RMarkdown 笔记本运行良好,但是当我尝试编织时,SQL 块没有将数据保存到指定的变量中。当应该使用 SQL 块生成的数据集在后面的 R 块中被引用时,数据集变量只是空的。

这是一个例子

r setup, include=FALSE, warning=FALSE, message=FALSE
# load necessary libraries
library(bigrquery)
library(knitr)
library(tidyverse)

db <- dbConnect(dbi_driver(), dataset = 'sandbox', project = 'project_id', use_legacy_sql = FALSE)

df <- NULL
```


```sql, connection=db, output.var=df
select * from example_dataset
limit 10
```
returns dataset


```r
head(df)
```
NULL

我已经尝试过这里的解决方案 (R: Knitr gives error for SQL-chunk),但它并没有解决我的问题。

【问题讨论】:

【参考方案1】:

刚刚遇到了同样的问题,看起来您需要引用您正在分配的变量。

```sql, connection=db, output.var="df"
select * from example_dataset
limit 10
```

来源:http://rmarkdown.rstudio.com/authoring_knitr_engines.html#sql

【讨论】:

哇,这太不可思议了!我想弄清楚这个很久了!我最初在其他地方查看了另一个没有使用引号的示例,并且从未想过要包含它们。谢谢!

以上是关于knitr sql块不将数据保存到变量中的主要内容,如果未能解决你的问题,请参考以下文章

不将 Json 数据保存到文件中

CoreData 不将数据保存到数据库

Access 2010 中的 LookupRecord 数据块不接受 SQL

ios核心数据:如何更改NSManagedObject而不将其保存到上下文中

不将引导日期值保存到 Laravel 中的数据库表

如何在不将数据保存到数据库的情况下更新 Gridview 行