我无法弄清楚如何在checkboxGroupInput中使用NA。在下面的示例中,我希望能够选择所有NA值和所有" M"例如,值。但是我无法选择NA值。
过滤适用于Shiny应用程序之外的数据框,所以我想知道它是否与输入$ b_select有关。
server.R
library(shiny)
library(tidyverse)
a = 1:10
b = c('M', 'F', NA, NA, NA, 'F', NA, 'M', 'F', NA)
test_data <- tibble(a, b)
shinyServer(function(input, output) {
output$total <- renderText({
data <- test_data %>%
filter(b %in% input$b_select)
paste("Total:", nrow(data), sep = ' ')
})
})
ui.R
library(shiny)
shinyUI(fluidPage(
titlePanel("Example"),
sidebarLayout(sidebarPanel(
checkboxGroupInput("b_select",
label = "B:",
choices = c('M', 'F', NA),
selected = c('M', 'F', NA)
)
),
mainPanel(textOutput("total"))
)
))
谢谢!
答案 0 :(得分:0)
在NA
中选择checkboxGroupInput
实际上会返回空字符串""
。
您可以使用is.na
来修复过滤器:
data <- test_data %>%
filter( b %in% input$b_select | ( is.na(b) & "" %in% input$b_select ) )