11

我有一些这样的查询:

sqldf("select TenScore from data where State_P = 'AndhraPradesh'")

但我有"AndhraPradesh"一个变量stateValue。如何在 R 的选择查询中使用此变量以获得与上述相同的结果。

请告诉我语法。

4

3 回答 3

13

您可以使用sprintf

sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))
于 2011-09-25T20:15:13.813 回答
7

请参阅sqldf GitHub 页面上的示例 5


示例 5. 插入变量

这是使用 gsubfn quasi-perl-style 字符串插值将评估变量插入查询的示例。gsubfn 由 sqldf 使用,因此它已经加载。请注意,我们必须使用 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
于 2011-09-25T23:25:23.987 回答
3

您还可以使用fn$sqldf

fn$sqldf("select TenScore from data where State_P = '$stateValue'")

于 2013-11-16T23:12:06.383 回答