将反应性输入/输出传递给Shiny App中的另一个.R脚本

时间:2014-04-17 14:23:04

标签: r shiny

在我的ui.R中,我试图捕获从文本框中输入的数字

textInput(inputId="dataSize", label="Choose Number of Rows", value = 1000)

在我的服务器中。我正在尝试反应性地获取此值并创建输出

datasetInputNumber <- reactive ({ input$dataSize })
output$number <- renderPrint({   datasetInputNumber()  })

然后我有一个单独的.R文件,我想把这个号码传递给sql查询

query <- sprintf("select * FROM Table limit %s;", limit)
result <- dbGetQuery(connectionString, query)

如何将输出数字输入此前一个.R文件并将其设置为&#34;限制&#34;? .R文件位于正确的目录中,由server.R

加载

谢谢,

1 个答案:

答案 0 :(得分:1)

您只需要在反应式表达式中运行该命令。因此,如果您已在外部.R文件中定义了一个包装查询的函数,则可以这样调用:

output$query <- reactive({
  df <- runQuery(datasetInputNumber())

  # whatever you want to do to your data here.
  output$avg <- mean(df[,2])
  ...
})

其中runQuery是外部R文件中定义的函数,它接受一个随后在SQL查询中使用的数字。