私が見る限り、問題はラジオボタンをmenuItem
に配置したことによるものです。タブkclustering
がアクティブのときにradioButtons
と表示する場合は、をconditionalPanel
にラップする必要があります。それはあなたの条件を策定することができるようにsidebarMenu
オブジェクトのid引数を設定することが重要です、この場合
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Bla"),
dashboardSidebar(
sidebarMenu(
id = "tabs",
menuItem(
"K-clustering",
tabName = "kclustering",
icon = icon("cogs")),
conditionalPanel(
"input.tabs == 'kclustering'",
radioButtons("technique", "Technique Choice",
c("K-Means" = "kmeans",
"K-Medians" = "kmedians",
"K-Medoids" = "kmedoids"),
select = "kmedians")
),
menuItem("DBSCAN", tabName = "dbscan")
)
),
dashboardBody(
tabItems(
tabItem("kclustering",
fluidRow(
box(plotOutput("step1"))
))
)
))
server <- function(input, output) {
output$step1 <- renderPlot({
hist(rnorm(5000))
})
}
runApp(shinyApp(ui, server))
:それはそのようになります。 結論:radioButtons
、sliderInput
およびtextInput
をmenuItem
オブジェクトの中に入れますが、sidebarMenu
オブジェクト自体に入れないでください。