library(tidyverse)
library(crosstable)
a = mtcars2 %>%
mutate(am = ifelse(runif(n())>0.8, NA, am)) %>%
mutate(am = fct_na_value_to_level(am))
table(a$am)
#>
#> auto manual <NA>
#> 16 12 4
a %>% crosstable(am, showNA="ifany")
#> # A tibble: 2 × 4
#> .id label variable value
#> <chr> <chr> <chr> <chr>
#> 1 am am auto 16 (57.14%)
#> 2 am am manual 12 (42.86%)
a %>% crosstable(am, showNA="always")
#> # A tibble: 3 × 4
#> .id label variable value
#> <chr> <chr> <chr> <chr>
#> 1 am am auto 16 (57.14%)
#> 2 am am manual 12 (42.86%)
#> 3 am am NA 4
Created on 2024-05-24 with reprex v2.1.0