Использовать пользовательский ввод для заполнения следующего выпадающего списка
У меня есть датафрейм, который мне нужно дважды установить для выполнения вычислений.
cat1 <- c('blue', 'red', 'green', 'blue')
cat2 <- c('bus', 'plane', 'car', 'boat')
num1 <- c(123, 153, 642, 333)
df <- data.frame(cat1, cat2, num1)
Мне нужно иметь возможность выбрать (например, "синий") из категории 1, чтобы просмотреть следующее раскрывающееся меню, в котором будут показаны только те значения в категории 2, которые связаны с выбором "синий". Как бы я пошел для достижения этой цели?
Учитывая приведенный выше фрейм данных, вот мой код ur.R и server.R:
ui.R
library(shiny)
library(shinydashboard)
library(shinyjs)
library(htmltools)
library(DT)
dashboardPage(
# Dashboard Header
dashboardHeader(
title = "Header"
),
# Dashboard Sidebar
selectInput(
'cat1_select', 'Select Vertical', choices = df$cat1
),
### I need another selectInput function to go here, but unsure
### of how to call the newly subsetted data from the reactive
### function to display cat2
),
# Dashboard Body
dashboardBody()
)
server.R
library(shiny)
# Define server logic required to draw a histogram
shinyServer(function(input, output) {
# subset based on initial input from Vertical selection
color_info <- reactive({input$cat1_select})
output$new_df <- subset(df, cat1 == color_info()) # feel like this is wrong....
})
})