• has_na(): Check for NA values in the data and return a logical value.

  • random_na(): Generate random NA values in a two-way table based on a desired proportion.

  • remove_cols_na(): Remove columns with NA values.

  • remove_rows_na(): Remove rows with NA values.

  • select_cols_na(): Select columns with NA values.

  • select_rows_na(): Select rows with NA values.

  • replace_na() Replace missing values

remove_rows_na(.data, verbose = TRUE)

remove_cols_na(.data, verbose = TRUE)

select_cols_na(.data, verbose = TRUE)

select_rows_na(.data, verbose = TRUE)

has_na(.data)

replace_na(.data, ..., replace = 0)

random_na(.data, prop)

Arguments

.data

A data frame or tibble

verbose

Logical argument. If TRUE (default) shows in console the rows or columns deleted.

...

Variables to replace NAs. If ... is null then all variables with NA will be replaced. It must be a single variable name or a comma-separated list of unquoted variables names. Select helpers are also allowed.

replace

The value used for replacement. Defaults to 0. Use replace = "colmeans" to replace missing values with colum means.

prop

The proportion (percentage) of NA values to generate in .data.

Value

A data frame with rows or columns with NA values deleted.

Examples

# \donttest{ library(metan) data_with_na <- data_g data_with_na[c(1, 5, 10), c(3:5, 10:15)] <- NA data_with_na
#> # A tibble: 39 x 17 #> GEN REP PH EH EP EL ED CL CD CW KW NR #> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 H1 1 NA NA NA 15.7 49.9 30.5 16.6 NA NA NA #> 2 H1 2 2.20 1.09 0.492 13.7 49.2 30.5 14.7 22.3 130. 16.4 #> 3 H1 3 2.29 1.15 0.502 15.1 52.6 31.7 16.2 29.6 176. 15.6 #> 4 H10 1 1.79 0.888 0.514 13.9 44.1 26.2 15.0 12.9 116. 14.8 #> 5 H10 2 NA NA NA 13.6 43.9 23.5 14.4 NA NA NA #> 6 H10 3 2.27 1.11 0.491 14.5 43.7 24.6 16.1 12.5 128. 15.2 #> 7 H11 1 1.71 0.808 0.489 15.5 45.2 25.0 16.7 15.2 140. 15.6 #> 8 H11 2 2.09 1.06 0.509 12.2 46.9 26.5 14.3 13.5 114. 16.8 #> 9 H11 3 2.5 1.44 0.577 15.0 49.0 27.5 15.2 19.4 168. 16.4 #> 10 H12 1 NA NA NA 14.4 49.2 28.4 15 NA NA NA #> # ... with 29 more rows, and 5 more variables: NKR <dbl>, CDED <dbl>, #> # PERK <dbl>, TKW <dbl>, NKE <dbl>
has_na(data_with_na)
#> [1] TRUE
remove_cols_na(data_with_na)
#> Warning: Column(s) PH, EH, EP, CW, KW, NR, NKR, CDED, PERK with NA values deleted.
#> # A tibble: 39 x 8 #> GEN REP EL ED CL CD TKW NKE #> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 H1 1 15.7 49.9 30.5 16.6 347. 458. #> 2 H1 2 13.7 49.2 30.5 14.7 337. 386. #> 3 H1 3 15.1 52.6 31.7 16.2 422. 431. #> 4 H10 1 13.9 44.1 26.2 15.0 258. 446. #> 5 H10 2 13.6 43.9 23.5 14.4 233. 496. #> 6 H10 3 14.5 43.7 24.6 16.1 251. 524. #> 7 H11 1 15.5 45.2 25.0 16.7 264. 535. #> 8 H11 2 12.2 46.9 26.5 14.3 288. 397 #> 9 H11 3 15.0 49.0 27.5 15.2 315. 532. #> 10 H12 1 14.4 49.2 28.4 15 291. 525. #> # ... with 29 more rows
remove_rows_na(data_with_na)
#> Warning: Row(s) 1, 5, 10 with NA values deleted.
#> # A tibble: 36 x 17 #> GEN REP PH EH EP EL ED CL CD CW KW NR NKR #> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 H1 2 2.20 1.09 0.492 13.7 49.2 30.5 14.7 22.3 130. 16.4 24.8 #> 2 H1 3 2.29 1.15 0.502 15.1 52.6 31.7 16.2 29.6 176. 15.6 29.2 #> 3 H10 1 1.79 0.888 0.514 13.9 44.1 26.2 15.0 12.9 116. 14.8 33 #> 4 H10 3 2.27 1.11 0.491 14.5 43.7 24.6 16.1 12.5 128. 15.2 34.6 #> 5 H11 1 1.71 0.808 0.489 15.5 45.2 25.0 16.7 15.2 140. 15.6 36 #> 6 H11 2 2.09 1.06 0.509 12.2 46.9 26.5 14.3 13.5 114. 16.8 26.2 #> 7 H11 3 2.5 1.44 0.577 15.0 49.0 27.5 15.2 19.4 168. 16.4 35 #> 8 H12 2 2.77 1.58 0.572 13.8 46.5 23.8 14.6 16.3 153. 17.6 31.4 #> 9 H12 3 2.00 0.782 0.386 13.7 47.5 25.3 14.3 18.9 139. 14.8 25.4 #> 10 H13 1 2.52 1.09 0.434 16.1 51.7 28.2 16.6 23.9 199. 18 30.8 #> # ... with 26 more rows, and 4 more variables: CDED <dbl>, PERK <dbl>, #> # TKW <dbl>, NKE <dbl>
select_cols_na(data_with_na)
#> Warning: Column(s) with NAs: PH, EH, EP, CW, KW, NR, NKR, CDED, PERK
#> # A tibble: 39 x 9 #> PH EH EP CW KW NR NKR CDED PERK #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 NA NA NA NA NA NA NA NA NA #> 2 2.20 1.09 0.492 22.3 130. 16.4 24.8 0.619 85.2 #> 3 2.29 1.15 0.502 29.6 176. 15.6 29.2 0.603 85.9 #> 4 1.79 0.888 0.514 12.9 116. 14.8 33 0.596 89.8 #> 5 NA NA NA NA NA NA NA NA NA #> 6 2.27 1.11 0.491 12.5 128. 15.2 34.6 0.566 90.7 #> 7 1.71 0.808 0.489 15.2 140. 15.6 36 0.552 90.3 #> 8 2.09 1.06 0.509 13.5 114. 16.8 26.2 0.566 89.3 #> 9 2.5 1.44 0.577 19.4 168. 16.4 35 0.562 89.6 #> 10 NA NA NA NA NA NA NA NA NA #> # ... with 29 more rows
select_rows_na(data_with_na)
#> Warning: Rows(s) with NAs: 1, 5, 10
#> # A tibble: 3 x 17 #> GEN REP PH EH EP EL ED CL CD CW KW NR NKR #> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 H1 1 NA NA NA 15.7 49.9 30.5 16.6 NA NA NA NA #> 2 H10 2 NA NA NA 13.6 43.9 23.5 14.4 NA NA NA NA #> 3 H12 1 NA NA NA 14.4 49.2 28.4 15 NA NA NA NA #> # ... with 4 more variables: CDED <dbl>, PERK <dbl>, TKW <dbl>, NKE <dbl>
replace_na(data_with_na)
#> # A tibble: 39 x 17 #> GEN REP PH EH EP EL ED CL CD CW KW NR NKR #> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 H1 1 0 0 0 15.7 49.9 30.5 16.6 0 0 0 0 #> 2 H1 2 2.20 1.09 0.492 13.7 49.2 30.5 14.7 22.3 130. 16.4 24.8 #> 3 H1 3 2.29 1.15 0.502 15.1 52.6 31.7 16.2 29.6 176. 15.6 29.2 #> 4 H10 1 1.79 0.888 0.514 13.9 44.1 26.2 15.0 12.9 116. 14.8 33 #> 5 H10 2 0 0 0 13.6 43.9 23.5 14.4 0 0 0 0 #> 6 H10 3 2.27 1.11 0.491 14.5 43.7 24.6 16.1 12.5 128. 15.2 34.6 #> 7 H11 1 1.71 0.808 0.489 15.5 45.2 25.0 16.7 15.2 140. 15.6 36 #> 8 H11 2 2.09 1.06 0.509 12.2 46.9 26.5 14.3 13.5 114. 16.8 26.2 #> 9 H11 3 2.5 1.44 0.577 15.0 49.0 27.5 15.2 19.4 168. 16.4 35 #> 10 H12 1 0 0 0 14.4 49.2 28.4 15 0 0 0 0 #> # ... with 29 more rows, and 4 more variables: CDED <dbl>, PERK <dbl>, #> # TKW <dbl>, NKE <dbl>
# }