输入和SQLDF库的语法问题

时间:2019-02-14 11:44:51

标签: r

我在RShiny中使用语法有问题。

如果我有这样的输入:

insertUI(
        selector = "#pesquisa",
        where = "afterEnd",
        ui = selectInput(
          "grau",
          label = "Grau:",
          choices = df$GRAU
        )
      )

如何使用SQLDF处理数据? 我正在尝试:

test <- sqldf('select something
                    from my_df
                    where something = (input$grau)
                    ')

我的代码有错误,但我找不到它。

我必须在 WHERE 条件下将所选的选择放在“ grau” 输入中。

谢谢!

Ps。:

库(“ sqldf”)

数据库:Oracle

1 个答案:

答案 0 :(得分:0)

由于sqldf()的查询参数是字符串,因此不能直接传递变量。要解决此问题,可以使用sprintf()函数,如下所示:

test <- sqldf(sprintf("select something
                from my_df
                where something = '%s'
                ",input$grau))

在此示例中,sprintf()用input $ grau变量的值替换'%s'。然后,sqldf()可以查找与该变量的值相等的位置,而不是查找字符串'input $ grau'。

请让我知道是否可行。