【发布时间】:2017-11-30 09:51:58
【问题描述】:
我想选择一个对输出有影响的选项。这里有两个选项:汽车,气缸可供选择。根据选择的选项,他们有不同的选择。
library(shiny)
mtcars$cars <- rownames(mtcars)
ui <- fluidPage(
title = 'Select experiment',
sidebarLayout(
sidebarPanel(
radioButtons("selectOpt", "Want to select:",
list("Car"='car', "Cylinders"='cyl'),
selected = 'car'),
conditionalPanel(
condition = "input.selectOpt=='car'",
selectizeInput(
inputId = "sel_car",
label = "Select a Car",
choices = mtcars$cars
)),
conditionalPanel(
condition = "input.selectOpt=='cyl'",
selectizeInput(
inputId = "sel_cyl",
label = "Select Cylinders",
choices = unique(mtcars$cyl)
)
)
),
mainPanel(
helpText('Output of the examples in the left:'),
verbatimTextOutput('ex_out')
)
)
)
server <- function(input, output) {
output$ex_out <- renderPrint({
if(!is.null(input$sel_car)){
cat(input$sel_car,input$sel_cyl,'\n')
mtcars[mtcars$cars == input$sel_car,]
}else if(!is.null(input$sel_cyl)){
mtcars[mtcars$cyl == input$sel_cyl,]
}
})
}
shinyApp(ui, server)
但是,我观察到这两个选项总是选择一个选项。这可以在输出的第一行中观察到(来源cat(input$sel_car,input$sel_cyl,'\n'))。
当Car被选中时,Cylinders option中的第一个选项6也被选中。
选择缸选项,汽车选项 MAZDA RX4 EM>的首选也被选中。
如何避免第一个选项的默认选择,以便我能够同时评估 if 和 else if 部分?
【问题讨论】:
标签: r shiny shinydashboard