2017-03-07 1 views
0

checkboxGroupInputでNAを使用する方法を理解できません。以下の例では、すべてのNA値とすべての "M"値を選択できるようにしたいと考えています。しかし、私はNA値を選択することができません。NAでのcheckboxGroupInputの選択の使用

フィルタリングは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

NAcheckboxGroupInputに選択すると、実際には空の文字列""が返されます。

あなたはフィルタを修正するためにis.naで使用することができます。

data <- test_data %>% 
    filter(b %in% input$b_select | (is.na(b) & "" %in% input$b_select)) 
関連する問題