我有一个查询像这样:
sqldf("select TenScore from data where State_P = 'AndhraPradesh'")
但是我有一个变量stateValue
,其中包含 "AndhraPradesh"
。我该如何在R中使用这个变量来执行选择查询,以获得与上述相同的结果。
请展示语法。
sprintf
:sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))
请查看示例5,位于sqldf GitHub页面上。
示例5. 插入变量
以下是使用 gsubfn 准 Perl 风格字符串内插将已评估的变量插入查询语句的示例。sqldf 已经加载了 gsubfn。请注意,我们必须使用 fn$ 前缀来调用内插功能:
minSL <- 7
limit <- 3
species <- "virginica"
fn$sqldf("select * from iris where \"Sepal.Length\" > $minSL and species = '$species'
limit $limit")
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 7.1 3.0 5.9 2.1 virginica
## 2 7.6 3.0 6.6 2.1 virginica
## 3 7.3 2.9 6.3 1.8 virginica
fn$sqldf
:
fn$sqldf("select TenScore from data where State_P = '$stateValue'")