Быстрый вопрос об условной панели для блестящих/R.условная панель в R/блестящая
Используя слегка модифицированный пример кода из RStudio, рассмотрим следующий простой блестящий приложение:
n <- 200
# Define the UI
ui <- bootstrapPage(
numericInput('n', 'Number of obs', n),
conditionalPanel(condition = "input.n > 20",
plotOutput('plot')),
HTML("Bottom")
)
# Define the server code
server <- function(input, output) {
output$plot <- renderPlot({
if (input$n > 50) hist(runif(input$n)) else return(NULL)
})
}
# Return a Shiny app object
shinyApp(ui = ui, server = server)
Моя цель состоит в том, чтобы скрыть график и двигаться вверх текст HTML, чтобы избежать разрыва. Теперь вы можете видеть, что если введенное значение ниже 20, график скрыт, а текст «Bottom» соответственно сдвинут вверх. Однако, если введенное значение больше 20, но меньше 50, функция диаграммы возвращает NULL, и пока диаграмма не отображается, текст «Bottom» не продвигается вверх.
Вопрос: есть ли способ, которым я могу установить условную группу, чтобы она отображалась/скрыта в зависимости от того, возвращает ли функция графика NULL? Причина, по которой я спрашиваю, заключается в том, что триггер немного сложный (помимо всего прочего, он зависит от выбора входных файлов и, следовательно, необходимо изменить, если загружен другой файл), и я бы хотел, в файле ui.R.
Любые предложения приветствуются,
Philipp
Отлично! Спасибо, Викторп. – PMaier