How can I pass R variable into sqldf?
I have some query like this:
sqldf("select TenScore from data where State_P = 'AndhraPradesh'")
But 开发者_开发技巧I have "AndhraPradesh"
in a variable stateValue
. How can I use this variable in a select query in R to get the same result as above.
Please show me the syntax.
You can use sprintf
:
sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))
See Example 5 on the sqldf GitHub page.
Example 5. Insert Variables
Here is an example of inserting evaluated variables into a query using gsubfn quasi-perl-style string interpolation. gsubfn is used by sqldf so it is already loaded. Note that we must use the fn$ prefix to invoke the interpolation functionality:
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
You can also use fn$sqldf
:
fn$sqldf("select TenScore from data where State_P = '$stateValue'")
精彩评论