如何将R变量传递给sqldf?

时间:2011-09-25 19:20:54

标签: r sqldf

我有这样的问题:

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

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

请告诉我语法。

3 个答案:

答案 0 :(得分:12)

您可以使用sprintf

sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))

答案 1 :(得分:6)

请参阅Example 5上的sqldf GitHub page


示例5.插入变量

以下是使用gsubfn准perl样式字符串插值将计算变量插入查询的示例。 sqsf使用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

答案 2 :(得分:2)

您还可以使用fn$sqldf

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