Я пытаюсь создать блестящее приложение. В этом конкретном приложении у меня есть набор радиокнопок, при выборе одной из которых будет отображаться набор параметров ниже в виде флажков, а при выборе другой радиокнопки - другой набор параметров. Пожалуйста, найдите пользовательский интерфейс и код сервера ниже.
library(shiny)
library(shinydashboard)
library(shinyWidgets)
d <-
data.frame(
year = c(1995, 1995, 1995, 1996, 1996, 1996, 1997, 1997, 1997),
Product_Name = c(
"Table",
"Chair",
"Bed",
"Table",
"Chair",
"Bed",
"Table",
"Chair",
"Bed"
),
Product_desc = c("X", "X", "X", "Y", "Y", "Y", "Z", "Z", "Z"),
Cost = c(1, 2, 3, 4, 2, 3, 4, 5, 6)
)
ui <- shinyUI(fluidPage(
useShinydashboard(),
tabPanel(
"Plot",
sidebarLayout(
sidebarPanel(
radioButtons(
"Choose",
"Choose One",
c("Year" = "p", "Numbers" = "l")
),
uiOutput('checkbox'),
#width = 2,
position = "bottom"),
mainPanel(uiOutput("graph"))
)
)
))
server <- function(input, output, session) {
output$graph <- renderUI({
# create tabPanel with datatable in it
req(input$year)
tabPanel("Plots",
fluidRow(lapply(as.list(paste0("plot", seq_along(input$year))), plotOutput)))
})
output$checkbox <- renderUI({
if (input$Choose == "p") {
checkboxGroupInput("Cross",
"Year",
choices = (unique(d$year)))
} else{
checkboxGroupInput("Cross_1",
"Numbers",
choices = c("1","2","3"))
}
})
}
shinyApp(ui, server)
Теперь проблема, с которой я сталкиваюсь, заключается в том, что при выборе переключателя «Год» значения года отображаются в виде флажков, а при выборе флажков соответствующие графики отображаются на главной панели. (Я не дал код здесь). Теперь, когда я выбираю переключатель «Номер», отображаются правильные опции флажков. Но когда я возвращаюсь назад к кнопке «Год». Уже выбранные значения флажков не сохраняются, поэтому пользователю необходимо снова установить флажки, чтобы получить соответствующие графики.
Пожалуйста, предложите мне, как сохранить значения в флажке, даже если выбран другой переключатель. Также обратите внимание, что параметры флажков под каждой радио-кнопкой будут меняться в соответствии с параметрами, выбранными пользователем на предыдущей вкладке. Поэтому я использую функцию наблюдения, чтобы получить соответствующие флажки.