Skip to contents

This function checks a data frame for missing columns specified by the user. If any are missing, it adds these columns to the data frame, filling them with a specified value.

Usage

AddMissingCols(DT, FillVal = NA_character_, ...)

Arguments

DT

A data frame to which missing columns will be added. This parameter cannot be NULL.

FillVal

The value to fill the missing columns with. This parameter defaults to NA_character_, but can be changed to any scalar value as required.

...

Column names as character strings.

Value

a data frame with the missing columns added, if any were missing.

Author

Ahmed El-Gabbas

Examples

dplyr::select(mtcars, seq_len(3)) %>%
 AddMissingCols(FillVal = NA_character_, A, B, C) %>%
 AddMissingCols(FillVal = as.integer(10), D)
#> # A tibble: 32 × 7
#>      mpg   cyl  disp A     B     C         D
#>    <dbl> <dbl> <dbl> <chr> <chr> <chr> <int>
#>  1  21       6  160  NA    NA    NA       10
#>  2  21       6  160  NA    NA    NA       10
#>  3  22.8     4  108  NA    NA    NA       10
#>  4  21.4     6  258  NA    NA    NA       10
#>  5  18.7     8  360  NA    NA    NA       10
#>  6  18.1     6  225  NA    NA    NA       10
#>  7  14.3     8  360  NA    NA    NA       10
#>  8  24.4     4  147. NA    NA    NA       10
#>  9  22.8     4  141. NA    NA    NA       10
#> 10  19.2     6  168. NA    NA    NA       10
#> # ℹ 22 more rows

# -------------------------------------------

AddCols <- c("Add1", "Add2")
dplyr::select(mtcars, seq_len(3)) %>%
 AddMissingCols(FillVal = NA_real_, AddCols)
#> # A tibble: 32 × 5
#>      mpg   cyl  disp  Add1  Add2
#>    <dbl> <dbl> <dbl> <dbl> <dbl>
#>  1  21       6  160     NA    NA
#>  2  21       6  160     NA    NA
#>  3  22.8     4  108     NA    NA
#>  4  21.4     6  258     NA    NA
#>  5  18.7     8  360     NA    NA
#>  6  18.1     6  225     NA    NA
#>  7  14.3     8  360     NA    NA
#>  8  24.4     4  147.    NA    NA
#>  9  22.8     4  141.    NA    NA
#> 10  19.2     6  168.    NA    NA
#> # ℹ 22 more rows