Я пытаюсь использовать флажок ввода для подмножества, фильтрации и суммирования данных. Я смоделировал проблему с данными радужной оболочки.
Я пытаюсь разрешить пользователю суммировать данные радужной оболочки глаза по ширине / длине чашелистика, ширине / длине лепестка или обоим. По отдельности каждый флажок работает, но использование нескольких вариантов ввода НЕ работает. Выбор «Sepal» и «Petal» возвращает только данные Sepal.
UI:
ui <- fluidPage(
fluidRow(
box(
title = "Choose data", width = 3, solidHeader = TRUE,
status = "primary", collapsible = TRUE,
checkboxGroupInput("iris_select", "Select measurements:",
choices = list("Sepal", "Petal"),
selected = c("Sepal")),
verbatimTextOutput("whatdidiselect")),
box(
title = "See your data output", width = 9, solidHeader = TRUE,
status = "success", collapsible = TRUE,
DT::dataTableOutput("iris_output")
)))
И сервер:
server <- function(input, output) {
output$whatdidiselect <- renderText(input$iris_select)
iris_summary <- reactive({
if(all(c("Sepal") %in% input$iris_select)){
iris %>%
group_by(., Species) %>%
summarise(Mean_Sepal_Length = mean(Sepal.Length),
Mean_Sepal_Width = mean(Sepal.Width))}
if(all(c("Petal") %in% input$iris_select)){
iris %>%
group_by(., Species) %>%
summarise(Mean_Petal_Length = mean(Petal.Length),
Mean_Petal_Width = mean(Petal.Width))}
if(all(c("Sepal", "Petal") %in% input$iris_select)){
iris %>%
group_by(., Species) %>%
summarise(Mean_Sepal_Length = mean(Sepal.Length),
Mean_Sepal_Width = mean(Sepal.Width),
Mean_Petal_Length = mean(Petal.Length),
Mean_Petal_Width = mean(Petal.Width))}
})
output$iris_output <- DT::renderDataTable({
iris_summary()})
}
Кажется, это должно быть просто , Может кто-нибудь указать, где я иду не так?