Tenho o shiny
aplicativo abaixo com 4 entradas. Eles contêm todas as variáveis do mtcars
conjunto de dados. Agora quero que se um valor selecionado por exemplo em uma entrada (por exemplo mpg na 1ª) esse valor não possa ser escolhido em nenhuma outra entrada. Portanto, toda vez que essas 4 entradas terão um valor diferente selecionado.
library(shiny)
library(shinydashboard)
choices <- c("Pop", "RC", "RT","R4")
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
selectInput("Pr", "Select the price for analysis", choices = choices, multiple = F, selected = choices[1]),
selectInput("Pr2", "Select the price for analysis", choices = choices, multiple = F, selected = choices[2]),
selectInput("Pr3", "Select the price for analysis", choices = choices, multiple = F, selected = choices[3]),
selectInput("Pr4", "Select the price for analysis", choices = choices, multiple = F, selected = choices[4])
),
dashboardBody()
)
server <- function(input, output, session) {
observeEvent(input$Pr, {
updateSelectInput(session, "Pr2", choices = choices[!choices %in% input$Pr])
})
observeEvent(input$Pr3, {
updateSelectInput(session, "Pr2", choices = choices[!choices %in%input$Pr3])
})
observeEvent(input$Pr4, {
updateSelectInput(session, "Pr2", choices = choices[!choices %in%input$Pr4])
})
observeEvent(input$Pr2, {
updateSelectInput(session, "Pr", choices = choices[!choices %in% input$Pr2])
})
observeEvent(input$Pr3, {
updateSelectInput(session, "Pr", choices = choices[!choices %in% input$Pr3])
})
observeEvent(input$Pr4, {
updateSelectInput(session, "Pr", choices = choices[!choices %in% input$Pr4])
})
observeEvent(input$Pr, {
updateSelectInput(session, "Pr3", choices = choices[!choices %in% input$Pr])
})
observeEvent(input$Pr2, {
updateSelectInput(session, "Pr3", choices = choices[!choices %in% input$Pr2])
})
observeEvent(input$Pr4, {
updateSelectInput(session, "Pr3", choices = choices[!choices %in% input$Pr4])
})
observeEvent(input$Pr, {
updateSelectInput(session, "Pr4", choices = choices[!choices %in% input$Pr])
})
observeEvent(input$Pr2, {
updateSelectInput(session, "Pr4", choices = choices[!choices %in% input$Pr2])
})
observeEvent(input$Pr3, {
updateSelectInput(session, "Pr4", choices = choices[!choices %in% input$Pr3])
})
}
shinyApp(ui, server)
Experimente isso