根据是否满足条件创建文本输出

Create a text output based on if conditions are met or not

我不是编码员,但我在实习期间被迫编码,可能真的需要一些帮助。
我正在调整已经存在的代码,并且需要在仪表板上显示一个句子 当且仅当 旧数据用于输出时。 我正在浏览 Stack Overflow,认为我应该使用条件面板。

UI 中我们使用单选按钮 select 一个月:

column(12,
       radioButtons("radio", h4(paste("Results:")),
       choices = list( "Jan" = paste(year(Sys.Date()-30), '-01-31', sep=""), 
                       "Feb" = paste(year(Sys.Date()-30), '-02-28', sep=""),
                       "Mar" = paste(year(Sys.Date()-30), '-03-31', sep=""), 
                       "Apr" = paste(year(Sys.Date()-30), '-04-30', sep=""),
                       "Mai" = paste(year(Sys.Date()-30), '-05-31', sep=""),
                       "Jun" = paste(year(Sys.Date()-30), '-06-30', sep="")
                       "Jul" = paste(year(Sys.Date()-30), '-07-31', sep=""), 
                       "Aug" = paste(year(Sys.Date()-30), '-08-31', sep=""),
                       "Sep" = paste(year(Sys.Date()-30), '-09-30', sep=""),
                       "Oct" = paste(year(Sys.Date()-30), '-10-31', sep=""),
                       "Nov" = paste(year(Sys.Date()-30), '-11-30', sep=""),
                       "Dec" = paste(year(Sys.Date()-30), '-12-31', sep="")),
                      
       selected = format(c(as.Date(d)-1),"%Y-%m-%d"), inline =TRUE)))

如果我select单选按钮上的一个月,我们还没有数据,我会显示我们拥有的最新信息。 但我也想在情节上面的一句话中指出这一点

所以在 服务器 中,我尝试了这个:

output$is_old_data <- renderText(
    if(max(dshb_qt_2$Data) < input$radio){
      1
    }else{
      0
    }
  )

而在UI中,我想这样显示:

fluidRow(
          conditionalPanel("is_old_data == 1", "Old data was used")
         )

不幸的是,它现在显示“使用了旧数据”,无论它是否真的是旧数据。 if/else 部分确实有效。我知道这一点,因为我已经将它用于其他部分。 有人知道这里做什么吗?

试试这个:

output$is_old_data <- reactive(
    if(max(dshb_qt_2$Data) < input$radio){
      1
    }else{
      0
    }
  )
outputOptions(output, "is_old_data", suspendWhenHidden = FALSE)

在UI中:

conditionalPanel(
  "output.is_old_data == 1",
  ......