R/inspect_na.R
inspect_na.Rd
For a single dataframe, summarise the rate of missingness in each column. If two dataframes are supplied, compare missingness for columns appearing in both dataframes. For grouped dataframes, summarise the rate of missingness separately for each group.
inspect_na(df1, df2 = NULL)
A data frame
An optional second data frame for making columnwise comparison of missingness.
Defaults to NULL
.
A tibble summarising the count and percentage of columnwise missingness for one or a pair of data frames.
For a single dataframe, the tibble returned contains the columns:
col_name
, a character vector containing column names of df1
.
cnt
, an integer vector containing the number of missing values by
column.
pcnt
, the percentage of records in each columns that is missing.
For a pair of dataframes, the tibble returned contains the columns:
col_name
, the name of the columns occurring in either df1
or df2
.
cnt_1
, cnt_2
, a pair of integer vectors containing counts of missing entries
for each column in df1
and df2
.
pcnt_1
, pcnt_2
, a pair of columns containing percentage of missing entries
for each column in df1
and df2
.
p_value
, the p-value associated with test of equivalence of rates of missingness. Small
values indicate evidence that the rate of missingness differs for a column occurring
in both df1
and df2
.
For a grouped dataframe, the tibble returned is as for a single dataframe, but where
the first k
columns are the grouping columns. There will be as many rows in the result
as there are unique combinations of the grouping variables.
# Load dplyr for starwars data & pipe
library(dplyr)
# Single dataframe summary
inspect_na(starwars)
#> # A tibble: 14 × 3
#> col_name cnt pcnt
#> <chr> <int> <dbl>
#> 1 birth_year 44 50.6
#> 2 mass 28 32.2
#> 3 homeworld 10 11.5
#> 4 height 6 6.90
#> 5 hair_color 5 5.75
#> 6 sex 4 4.60
#> 7 gender 4 4.60
#> 8 species 4 4.60
#> 9 name 0 0
#> 10 skin_color 0 0
#> 11 eye_color 0 0
#> 12 films 0 0
#> 13 vehicles 0 0
#> 14 starships 0 0
# Paired dataframe comparison
inspect_na(starwars, starwars[1:20, ])
#> # A tibble: 14 × 6
#> col_name cnt_1 pcnt_1 cnt_2 pcnt_2 p_value
#> <chr> <int> <dbl> <int> <dbl> <dbl>
#> 1 birth_year 44 50.6 2 10 0.00225
#> 2 mass 28 32.2 1 5 0.0287
#> 3 homeworld 10 11.5 1 5 0.650
#> 4 height 6 6.90 0 0 0.503
#> 5 hair_color 5 5.75 5 25 0.0250
#> 6 sex 4 4.60 0 0 0.746
#> 7 gender 4 4.60 0 0 0.746
#> 8 species 4 4.60 0 0 0.746
#> 9 name 0 0 0 0 NA
#> 10 skin_color 0 0 0 0 NA
#> 11 eye_color 0 0 0 0 NA
#> 12 films 0 0 0 0 NA
#> 13 vehicles 0 0 0 0 NA
#> 14 starships 0 0 0 0 NA
# Grouped dataframe summary
starwars %>% group_by(gender) %>% inspect_na()
#> # A tibble: 39 × 4
#> # Groups: gender [3]
#> gender col_name cnt pcnt
#> <chr> <chr> <int> <dbl>
#> 1 feminine birth_year 9 52.9
#> 2 feminine mass 8 47.1
#> 3 feminine homeworld 2 11.8
#> 4 feminine height 1 5.88
#> 5 feminine name 0 0
#> 6 feminine hair_color 0 0
#> 7 feminine skin_color 0 0
#> 8 feminine eye_color 0 0
#> 9 feminine sex 0 0
#> 10 feminine species 0 0
#> # … with 29 more rows
#> # ℹ Use `print(n = ...)` to see more rows