【问题标题】:Use reactive input into R code calculations for Shiny将反应输入用于 Shiny 的 R 代码计算
【发布时间】:2021-05-26 05:37:00
【问题描述】:

我有一个闪亮的应用程序从 ui 读取输入,但我无法跟进代码中输入的数据。如下:

ui <- fluidPage(

...
        selectInput("ISvModels", "Choose:", 
              choices = c(1000,5000)),
)

server <- function(input, output) {

  vModels <- reactive({input$ISvModels})
  qtModels <- length(vModels)
    qtModels
  vtModels <- paste0("M",1:qtModels," n = ",vModels," scenarios")
    vtModels
}

我得到:

警告:as.vector 中的错误:无法将“闭包”类型强制转换为“字符”类型的向量

我尝试了从观察到渲染的各种方法,但没有任何效果。似乎我在这里遗漏了一些概念,希望您能提供帮助。谢谢!

【问题讨论】:

  • vModels 是一个反应函数:使用vModels()

标签: r shiny rstudio reactive


【解决方案1】:

您的服务器需要一个输出,以某种方式将您计算的内容显示给用户。我们可以使用textOutput 来实现这一点。

下面是一个最小示例,显示了一个链接到文本框的下拉框。

library(shiny)

ui <- fluidPage(
    
    #Dropdown
    selectInput("ISvModels", "Choose:", choices = c(1000,5000)),
    
    #Textbox
    textOutput("mytext")
    
)

server <- function(input, output, session) {
    
    #Prepare Textbox Content
    output$mytext <- renderText({
        
        qtModels <- length(input$ISvModels)
        vtModels <- paste0("M", 1:qtModels, " n = ", input$ISvModels," scenarios")

        return(vtModels)
        
    }) 
    
}

shinyApp(ui, server)

【讨论】:

    猜你喜欢
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2014-06-16
    • 2021-11-04
    • 2020-06-27
    • 2017-04-21
    相关资源
    最近更新 更多