我有一个R笔记本,我使用sql chunk从数据库读取数据,然后将其分配给数据框。我想在R笔记本中的R块中使用它,所以我在sql块中使用了output.vars选项。
当我运行所有然后预览它完美地工作但是当我编织它时我得到错误:" eval中的错误(expr,envir,enclos):object' x'找不到"。
以下是一些会重现此错误的简单代码:
---
title: "R Notebook"
output:
html_notebook: default
html_document: default
---
```{r setup}
library(DBI)
library(RSQLite)
db = dbConnect(SQLite(), dbname = "C:/R/chinook.db")
```
```{sql connection = db, output.vars = 'x'}
SELECT * FROM artists
```
```{r}
x[1:10,]
```
我正在使用:
该示例使用sqlitetutorial.net http://www.sqlitetutorial.net/download/sqlite-sample-database/?wpdmdl=94中的SQLite示例数据库。
我也尝试过不同类型的数据库而没有任何成功。
答案 0 :(得分:1)
我不确定你中间的语法块是否有效。为什么不这样做:
```{r}
library(DBI)
library(RSQLite)
db <- dbConnect(SQLite(), dbname = "C:/R/chinook.db")
x <- dbGetQuery(db, 'SELECT * FROM artists')
```
```{r}
x[1:10,]
```
答案 1 :(得分:1)
我认为您必须将output.vars
更改为output.var
```{sql connection = db, output.var = 'x'}
SELECT * FROM artists
```
它对我有用。