如何关闭 R 中的字符?

How to cast closure to character in R?

我想通过用户输入保存数据。
我将使用 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)     
})    

我无法使用GetModelTargetModelQuery 有错误。
我如何使用 GetModel

您需要使 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()
        })
    })
)