R 具有无功值的随机变量

R 具有无功值的随机变量,r,shiny,R,Shiny,当反应值值$myresults包含数据时,我想显示选择输入列表。让我们假设values$myresults填充在函数中(未显示)。 当填写值$myresults时,列表将按预期显示。但是,当值$myresults为空时,将显示一条错误消息 我的想法是只有在有数据显示时才显示selectinput 服务器.R 谢谢首先,请在将来尝试包含一个功能完整的示例,包括一个完整的闪亮应用程序和一些数据。否则,你的问题可能会被否决,可能根本得不到回答 没有函数ReactiveValues,它应该以小写字母r-

当反应值
值$myresults
包含数据时,我想显示
选择输入
列表。让我们假设
values$myresults
填充在函数中(未显示)。 当填写
值$myresults
时,列表将按预期显示。但是,当值$myresults为空时,将显示一条错误消息

我的想法是只有在有数据显示时才显示selectinput

服务器.R
谢谢

首先,请在将来尝试包含一个功能完整的示例,包括一个完整的闪亮应用程序和一些数据。否则,你的问题可能会被否决,可能根本得不到回答

没有函数
ReactiveValues
,它应该以小写字母r->
ReactiveValues
开头

要隐藏打印的空值,可以使用
req()

请参见以下示例:

library(shiny)

ui <- fluidPage(
  uiOutput("fcomparisons"),
  actionButton("go", "setValues"),
  actionButton("go1", "setNULL"),
  verbatimTextOutput("printValues")
)

server <- function(input, output){

  values = reactiveValues(myresults=NULL)

  output$fcomparisons <- renderUI({
    selectInput("comparisons",label="Select comparisons",
                choices = values$myresults)
  })

  observeEvent(input$go, {
    values$myresults <- sample(1:20, 5, T)
  })  
  observeEvent(input$go1, {
    values$myresults <- NULL
  })

  output$printValues <- renderPrint({
    req(values$myresults)
    values$myresults
  })
}

shinyApp(ui, server)
库(闪亮)
用户界面
  tabsetPanel(id = "foldchanges",type = "tabs",
              tabPanel(title="Summary", value=1, 
              verbatimTextOutput("summary_foldchanges")),
              tabPanel(title="Volcano Plot", value=2, 

              conditionalPanel(
                                                    condition='!(is.null(values$myresults))',
                                                    uiOutput("fcomparisons"),
                                                    plotOutput("volcanoplot")
library(shiny)

ui <- fluidPage(
  uiOutput("fcomparisons"),
  actionButton("go", "setValues"),
  actionButton("go1", "setNULL"),
  verbatimTextOutput("printValues")
)

server <- function(input, output){

  values = reactiveValues(myresults=NULL)

  output$fcomparisons <- renderUI({
    selectInput("comparisons",label="Select comparisons",
                choices = values$myresults)
  })

  observeEvent(input$go, {
    values$myresults <- sample(1:20, 5, T)
  })  
  observeEvent(input$go1, {
    values$myresults <- NULL
  })

  output$printValues <- renderPrint({
    req(values$myresults)
    values$myresults
  })
}

shinyApp(ui, server)