如何将变量添加到R中的字符串中?我基本上是在尝试参数化字符串,就像在SQL中一样

如何将变量添加到R中的字符串中?我基本上是在尝试参数化字符串,就像在SQL中一样,r,sqldf,R,Sqldf,下面是我的R代码。下面的注释是两个字符串;我试图通过添加透视变量来参数化查询字符串,这样,如果我想更改查询字符串透视,我只需要更新透视变量 perspective <- 'GR' query <- "select portname, description, sum(loss) as 'perspective'_loss from table1 where perspcode = 'perspective'" 1 fn$在命令前面加上带有f

下面是我的R代码。下面的注释是两个字符串;我试图通过添加透视变量来参数化查询字符串,这样,如果我想更改查询字符串透视,我只需要更新透视变量

perspective <- 'GR'

query <- "select portname, description, sum(loss) as 'perspective'_loss
          from table1
          where perspcode = 'perspective'"
1 fn$在命令前面加上带有fn$的SQL语句,然后您可以按图所示执行此操作。请注意,插入字符串的变量的名称中应该只有字母和数字,因为它假定的第一个字符不是名称的结尾之一。fn$来自gsubfn。实际上sqldf已经加载了gsubfn,但是如果您没有使用sqldf,例如,您可能正在使用RSQLite,那么您将需要该库调用

library(sqldf)
library(gsubfn) 

Species <- "setosa"
fn$sqldf("select count(*) as count from iris where Species = '$Species'")
##   count
## 1    50
3使用paste或paste0进行粘贴是另一种选择,但上面的操作似乎更简单。

paste0从表1中选择端口名、描述、sumloss as、透视图、_loss,其中perspcode='perspective'?
sql <- sprintf("select count(*) as count from iris where Species = '%s'", Species)
sqldf(sql)