我有一些这样的查询:
sqldf("select TenScore from data where State_P = 'AndhraPradesh'")
但我有"AndhraPradesh"
一个变量stateValue
。如何在 R 的选择查询中使用此变量以获得与上述相同的结果。
请告诉我语法。
您可以使用sprintf
:
sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))
请参阅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
您还可以使用fn$sqldf
:
fn$sqldf("select TenScore from data where State_P = '$stateValue'")