将整个代码存储在操作按钮中

时间:2019-04-16 13:38:36

标签: r shiny shinydashboard action-button

我想将我的全部代码放在动作按钮内。当我单击按钮时,我的整个代码仪表板应该在我的屏幕上可见(我现在在我的代码中正在看到它) 但是首先,我必须只能看到该按钮。

这是我要放在按钮中的示例仪表板。 我没有在此代码中创建按钮,因为这很简单。有人可以帮忙吗?

     library(shinydashboard)

 ui <- dashboardPage(
   dashboardHeader(title = "Basic dashboard"),
  dashboardSidebar(),
   dashboardBody(
    # Boxes need to be put in a row (or column)
    fluidRow(
      box(plotOutput("plot1", height = 250)),

       box(
        title = "Controls",
        sliderInput("slider", "Number of observations:", 1, 100, 50)
      )
    )
 )
)

server <- function(input, output) {
  set.seed(122)
  histdata <- rnorm(500)

  output$plot1 <- renderPlot({
    data <- histdata[seq_len(input$slider)]
   hist(data)
  })
   }

shinyApp(ui, server)

1 个答案:

答案 0 :(得分:0)

您可以在输出中使用req,例如:

output$plot1 <- renderPlot({
    req(input$button)
    data <- histdata[seq_len(input$slider)]
   hist(data)
  })

然后,仅在使用输入时才显示输出。

您也可以将内容放入conditionalPanel()中。您可以在脚本的UI部分中使用它。例如:

fluidRow(conditionalPanel(condition = "input.button == true",
      box(plotOutput("plot1", height = 250)),

       box(
        title = "Controls",
        sliderInput("slider", "Number of observations:", 1, 100, 50)
      )
)

请注意,条件在javascript中。

我给您的按钮起了一个名字,并将其命名为TRUE / FALSE,但是您需要根据输入按钮进行修改。