如何在R中的字符串中添加变量?我基本上是想像在SQL

问题描述 投票:1回答:1

下面的我的R代码。注意以下是两个字符串;我试图通过添加视角变量来参数化“查询”字符串,以便如果我想更改查询字符串视角,则只需要更新视角变量即可。

perspective <- 'GR'

query <- "select portname, description, sum(loss) as 'perspective'_loss
          from table1
          where perspcode = 'perspective'"
r sqldf
1个回答
1
投票

[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

有关更多信息,请参见?fn,另请参见sqldf github主页上的示例。 https://github.com/ggrothendieck/sqldf

[2)sprintf我们可以交替使用sprintf

sql <- sprintf("select count(*) as count from iris where Species = '%s'", Species)
sqldf(sql)

[3)粘贴使用paste或paste0是另一种选择,但上述操作似乎更容易。

© www.soinside.com 2019 - 2024. All rights reserved.