【问题标题】:How can I pass R variable into sqldf?如何将 R 变量传递给 sqldf?
【发布时间】:2011-11-24 18:22:33
【问题描述】:

我有一些这样的查询:

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

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

请告诉我语法。

【问题讨论】:

    标签: r sqldf


    【解决方案1】:

    你可以使用sprintf:

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

    【讨论】:

    • 我不会推荐这个。 sqldf常用的方法见sqldf github主页的示例5。
    【解决方案2】:

    sqldf GitHub page 上查看Example 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
    

    【讨论】:

      【解决方案3】:

      你也可以使用fn$sqldf

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 2021-05-25
        • 2018-12-28
        • 2011-04-12
        相关资源
        最近更新 更多