如何将R变量传递给sqldf?

San*_*eep 10 r sqldf

我有一些像这样的查询:

sqldf("select TenScore from data where State_P = 'AndhraPradesh'")
Run Code Online (Sandbox Code Playgroud)

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

请告诉我语法.

rcs*_*rcs 12

你可以使用sprintf:

sqldf(sprintf("select TenScore from data where State_P = '%s'", stateValue))
Run Code Online (Sandbox Code Playgroud)


G. *_*eck 6

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


示例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
Run Code Online (Sandbox Code Playgroud)