我想通过用户输入保存数据
我将使用sprintf
下面是我的代码。
ui.r
selectInput(
"ModelCB", 'Model', choices=NULL, selected = NULL, multiple = FALSE
)
server.r
shinyServer(function(input, output, session)
{
output$SelectModel <- renderText({
paste("You have selected", input$ModelCB)
GetModel <- input$ModelCB
})
TargetModelQuery <- sprintf("SELECT tb_result.mid
FROM tb_result
WHERE name='%s' and result='F'", GetModel)
})
我无法使用GetModel
。
TargetModelQuery
有错误。
我如何使用GetModel
?
答案 0 :(得分:1)
您需要使TargetModelQuery
被动,例如,
TargetModelQuery <- reactive({
sprintf("SELECT tb_result.mid
FROM tb_result
WHERE name='%s' and result='F'", input$ModelCB)
})
并通过调用TargetModelQuery()
来访问该字符串。
完整示例
library(shiny)
shinyApp(
shinyUI(
fluidPage(
selectInput(
"ModelCB", 'Model', choices=c("a","b","c"), selected = NULL, multiple = FALSE
),
textOutput("printStr")
)
),
shinyServer(function(input, output, session) {
TargetModelQuery <- reactive({
sprintf("SELECT tb_result.mid
FROM tb_result
WHERE name='%s' and result='F'", input$ModelCB)
})
output$printStr <- renderText({
TargetModelQuery()
})
})
)