【发布时间】:2012-08-28 22:44:39
【问题描述】:
我需要调用一个在 knitr 中的 R 块中的表名中有下划线的数据库。有几千个表名,更改名称会很麻烦。 比如:
<<classRun,fig=FALSE,print=FALSE,echo=FALSE>>=
getdat = function(nbr1,nbr2){
library(RODBC)
database.dsn1<-c("db")
database.user1<-c("username")
database.password1<-c("password")
channel<-odbcConnect(database.dsn1, database.user1, database.password1)
dat = sqlQuery(channel,paste("select * from table_",nbr1,"_",nbr2, sep=""))
}
@
<< results='asis', echo = FALSE>>=
dat = getdat(10,20)
print(dat)
@
由于“table_10_20”中的下划线,我收到了我缺少 $(“Missing $ inserted”)的错误。我已经玩了很多添加 '\$\' 和 '\$\' 的方法。还使用了 cat()、paste()、单引号和双引号。有什么建议么?在此先感谢您的帮助。我正在运行 Ubuntu 11.10,并使用 pdfLaTeX 从 RStudio 调用 knitr,如果这很重要的话。
【问题讨论】:
-
您还必须用分号终止您的 SQL 语句