diff --git a/DESCRIPTION b/DESCRIPTION index 1b8284f2..dd46fabc 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: naniar Type: Package Title: Data Structures, Summaries, and Visualisations for Missing Data -Version: 0.3.2.9300 +Version: 0.3.3.9000 Authors@R: c( person("Nicholas", "Tierney", role = c("aut", "cre"), @@ -101,6 +101,7 @@ Collate: 'n-var-miss.R' 'naniar-ggproto.R' 'naniar-package.R' + 'prop-pct-var-case-miss-complete.R' 'replace-to-na.R' 'replace-with-na.R' 'scoped-replace-with-na.R' diff --git a/NAMESPACE b/NAMESPACE index aab5994a..5a60f2c2 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -98,11 +98,19 @@ export(n_miss_row) export(n_var_complete) export(n_var_miss) export(pct_complete) +export(pct_complete_case) +export(pct_complete_var) export(pct_miss) +export(pct_miss_case) +export(pct_miss_var) export(prop_complete) +export(prop_complete_case) export(prop_complete_row) +export(prop_complete_var) export(prop_miss) +export(prop_miss_case) export(prop_miss_row) +export(prop_miss_var) export(replace_to_na) export(replace_with_na) export(replace_with_na_all) diff --git a/NEWS.md b/NEWS.md index 873f45cc..70cfd181 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,23 @@ +# naniar 0.3.3.9000 (2018/07/30) + +## Breaking Changes + +* Deprecated old names of the scalar missingness summaries, in favour of a more +consistent syntax [#171](https://github.com/njtierney/naniar/issues/171). The old the and new are: + +|old_names |new_names | +|:--------------------|:--------------------| +|`miss_case_pct` |`pct_miss_case` | +|`miss_case_prop` |`prop_miss_case` | +|`miss_var_pct` |`pct_miss_var` | +|`miss_var_prop` |`prop_miss_var` | +|`complete_case_pct` |`pct_complete_case` | +|`complete_case_prop` |`prop_complete_case` | +|`complete_var_pct` |`pct_complete_var` | +|`complete_var_prop` |`prop_complete_var` | + +These old names will be made defunct in 0.5.0, and removed completely in 0.6.0. + # naniar 0.3.2.9300 (2018/06/27) ## Bug fix diff --git a/R/miss-complete-x-pct-prop.R b/R/miss-complete-x-pct-prop.R index cd92c300..9dfcc68f 100644 --- a/R/miss-complete-x-pct-prop.R +++ b/R/miss-complete-x-pct-prop.R @@ -1,27 +1,19 @@ #' Proportion of variables containing missings or complete values #' -#' Calculate the proportion of variables that contain a single missing or -#' complete values. +#' Deprecated. Please see [miss_var_prop()] and [complete_var_prop()]. #' #' @param data a dataframe #' #' @return numeric the proportion of variables that contain missing or complete #' data #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' @export #' @name miss-complete-var-prop #' -#' @examples -#' -#' miss_var_prop(riskfactors) -#' miss_var_prop(oceanbuoys) -#' complete_var_prop(riskfactors) -#' complete_var_prop(oceanbuoys) -#' miss_var_prop <- function(data){ - + .Deprecated("prop_miss_var") test_if_null(data) test_if_dataframe(data) @@ -34,15 +26,14 @@ miss_var_prop <- function(data){ #' @export #' @rdname miss-complete-var-prop complete_var_prop <- function(data){ - + .Deprecated("prop_complete_var") 1 - miss_var_prop(data) } # end function #' Percentage of variables containing missings or complete values #' -#' Calculate the percentage of variables that contain a single missing or -#' complete value. +#' Deprecated. Please see [miss_var_pct()] and [complete_var_pct()]. #' #' @param data a dataframe #' @@ -51,19 +42,13 @@ complete_var_prop <- function(data){ #' #' @export #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' #' @name miss-complete-var-pct -#' @examples -#' -#' miss_var_pct(riskfactors) -#' miss_var_pct(oceanbuoys) -#' complete_var_pct(riskfactors) -#' complete_var_pct(oceanbuoys) #' miss_var_pct <- function(data){ - + .Deprecated("pct_miss_var") # turn proportion into a percent miss_var_prop(data) * 100 @@ -73,33 +58,28 @@ miss_var_pct <- function(data){ #' @rdname miss-complete-var-pct complete_var_pct <- function(data){ - + .Deprecated("pct_complete_var") complete_var_prop(data) * 100 } #' Proportion of cases that contain a missing or complete values. #' -#' Calculate the proportion of cases (rows) that contain missing or complete -#' values. +#' Deprecated, please see [miss_case_prop()] and [complete_case_prop()]. #' #' @param data a dataframe #' #' @return numeric the proportion of cases that contain a missing or complete #' value #' -#' @seealso [miss_case_pct]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' @export #' @name miss-complete-case-prop #' @importFrom stats complete.cases -#' @examples -#' -#' miss_case_prop(airquality) -#' complete_case_prop(airquality) #' miss_case_prop <- function(data){ - + .Deprecated("prop_miss_case") test_if_null(data) test_if_dataframe(data) @@ -128,33 +108,27 @@ miss_case_prop <- function(data){ #' @export #' @rdname miss-complete-case-prop complete_case_prop <- function(data){ - + .Deprecated("prop_complete_case") 1 - miss_case_prop(data) } #' Percentage of cases that contain a missing or complete values. #' -#' Calculate the percentage of cases (rows) that contain a missing or complete -#' value. +#' Deprecated, please see [miss_case_pct()] and [complete_case_pct()]. #' #' @param data a dataframe #' #' @return numeric the percentage of cases that contain a missing or complete #' value #' -#' @seealso [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' @export #' @name miss-complete-case-pct #' -#' @examples -#' -#' miss_case_pct(airquality) -#' complete_case_pct(airquality) -#' miss_case_pct <- function(data){ - + .Deprecated("pct_miss_case") miss_case_prop(data) * 100 } @@ -163,7 +137,7 @@ miss_case_pct <- function(data){ #' @rdname miss-complete-case-pct complete_case_pct <- function(data){ - + .Deprecated("pct_complete_case") complete_case_prop(data) * 100 } diff --git a/R/miss-prop-pct-summary.R b/R/miss-prop-pct-summary.R index e812ee4d..d7601b22 100644 --- a/R/miss-prop-pct-summary.R +++ b/R/miss-prop-pct-summary.R @@ -9,7 +9,7 @@ #' #' @return a dataframe #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_case_summary]() [miss_case_table]() [miss_scan_count]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' @export #' @@ -34,8 +34,8 @@ miss_prop_summary <- function(data){ miss_prop_summary.default <- function(data){ tibble::tibble(df = prop_miss(data), - var = miss_var_prop(data), - case = miss_case_prop(data)) + var = prop_miss_var(data), + case = prop_miss_case(data)) } diff --git a/R/miss-scan-count.R b/R/miss-scan-count.R index e574827a..4b1a1204 100644 --- a/R/miss-scan-count.R +++ b/R/miss-scan-count.R @@ -12,7 +12,7 @@ #' #' @return a dataframe of the occurrences of the values you searched for #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' @export #' diff --git a/R/miss-x-cumsum.R b/R/miss-x-cumsum.R index 7f504331..048e0906 100644 --- a/R/miss-x-cumsum.R +++ b/R/miss-x-cumsum.R @@ -7,7 +7,7 @@ #' #' @return a tibble of the cumulative sum of missing data in each variable #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_scan_count()] [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' #' @noRd diff --git a/R/miss-x-run.R b/R/miss-x-run.R index b3cfd1a9..123c8e9d 100644 --- a/R/miss-x-run.R +++ b/R/miss-x-run.R @@ -12,7 +12,7 @@ #' @return dataframe with column names "run_length" and "is_na", which describe #' the length of the run, and whether that run describes a missing value. #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' diff --git a/R/miss-x-span.R b/R/miss-x-span.R index fadc6b6b..6ff149aa 100644 --- a/R/miss-x-span.R +++ b/R/miss-x-span.R @@ -16,7 +16,7 @@ #' #' @export #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() #' #' @examples #' diff --git a/R/miss-x-summary.R b/R/miss-x-summary.R index 54e5861c..1ca5b48f 100644 --- a/R/miss-x-summary.R +++ b/R/miss-x-summary.R @@ -15,7 +15,7 @@ #' #' @return a tibble of the percent of missing data in each variable #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' @@ -77,7 +77,7 @@ miss_var_summary.grouped_df <- function(data, order = TRUE, ...) { #' #' @return a tibble of the percent of missing data in each case. #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' @@ -143,7 +143,7 @@ miss_case_summary.grouped_df <- function(data, order = TRUE, ...){ #' #' @return a tibble of missing data summaries #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' @@ -171,8 +171,8 @@ miss_summary <- function(data, order = TRUE){ return( tibble::data_frame( miss_df_prop = prop_miss(data), - miss_var_prop = miss_var_prop(data), - miss_case_prop = miss_case_prop(data), + miss_var_prop = prop_miss_var(data), + miss_case_prop = prop_miss_case(data), miss_case_table = list(miss_case_table(data)), miss_var_table = list(miss_var_table(data)), miss_var_summary = list(miss_var_summary(data, order)), diff --git a/R/miss-x-table.R b/R/miss-x-table.R index baa92101..e01a3915 100644 --- a/R/miss-x-table.R +++ b/R/miss-x-table.R @@ -7,7 +7,7 @@ #' #' @return a dataframe #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' @@ -60,7 +60,7 @@ miss_case_table.grouped_df <- function(data){ #' #' @return a dataframe #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' diff --git a/R/n-prop-miss-complete-rows.R b/R/n-prop-miss-complete-rows.R index 349d51cf..a8e95d7f 100644 --- a/R/n-prop-miss-complete-rows.R +++ b/R/n-prop-miss-complete-rows.R @@ -9,7 +9,7 @@ #' #' @export #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @examples #' @@ -32,7 +32,7 @@ n_miss_row <- function(data){ #' #' @return numeric vector of the number of complete values in each row #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' @@ -57,7 +57,7 @@ n_complete_row <- function(data){ #' #' @return numeric vector of the proportion of missing values in each row #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' @@ -81,7 +81,7 @@ prop_miss_row <- function(data){ #' #' @return numeric vector of the proportion of missing values in each row #' -#' @seealso [miss_case_pct]() [miss_case_prop]() [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() #' #' @export #' diff --git a/R/naniar-package.R b/R/naniar-package.R index 44830479..c4ed70f3 100644 --- a/R/naniar-package.R +++ b/R/naniar-package.R @@ -6,7 +6,7 @@ #' #' @name naniar #' @docType package -#' @seealso [add_any_miss]() [add_label_missings]() [add_label_shadow]() [add_miss_cluster]() [add_n_miss]() [add_prop_miss]() [add_shadow]() [add_shadow_shift]() [as_shadow]() [bind_shadow]() [cast_shadow]() [cast_shadow_shift]() [cast_shadow_shift_label]() [draw_key_missing_point]() [gather_shadow]() [geom_miss_point]() [gg_miss_case]() [gg_miss_case_cumsum]() [gg_miss_fct]() [gg_miss_span]() [gg_miss_var]() [gg_miss_var_cumsum]() [gg_miss_which]() [label_miss_1d]() [label_miss_2d]() [label_missings]() [miss_case_pct]() [miss_case_prop]() [miss_case_summary]() [miss_case_table]() [miss_prop_summary]() [miss_scan_count]() [miss_summary]() [miss_var_pct]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() [prop_miss_row]() [replace_to_na]() [replace_with_na]() [replace_with_na_all]() [replace_with_na_at]() [replace_with_na_if]() [shadow_shift]() [stat_miss_point]() [vis_miss]() [where_na]() +#' @seealso [add_any_miss]() [add_label_missings]() [add_label_shadow]() [add_miss_cluster]() [add_n_miss]() [add_prop_miss]() [add_shadow]() [add_shadow_shift]() [as_shadow]() [bind_shadow]() [cast_shadow]() [cast_shadow_shift]() [cast_shadow_shift_label]() [draw_key_missing_point]() [gather_shadow]() [geom_miss_point]() [gg_miss_case]() [gg_miss_case_cumsum]() [gg_miss_fct]() [gg_miss_span]() [gg_miss_var]() [gg_miss_var_cumsum]() [gg_miss_which]() [label_miss_1d]() [label_miss_2d]() [label_missings]() [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() [n_complete]() [n_complete_row]() [n_miss]() [n_miss_row]() [pct_complete]() [pct_miss]() [prop_complete]() [prop_complete_row]() [prop_miss]() [prop_miss_row]() [replace_to_na]() [replace_with_na]() [replace_with_na_all]() [replace_with_na_at]() [replace_with_na_if]() [shadow_shift]() [stat_miss_point]() [vis_miss]() [where_na]() #' @import ggplot2 #' @import rlang diff --git a/R/prop-pct-var-case-miss-complete.R b/R/prop-pct-var-case-miss-complete.R new file mode 100644 index 00000000..f3516f16 --- /dev/null +++ b/R/prop-pct-var-case-miss-complete.R @@ -0,0 +1,158 @@ +#' Proportion of variables containing missings or complete values +#' +#' Calculate the proportion of variables that contain a single missing or +#' complete values. +#' +#' @param data a dataframe +#' +#' @return numeric the proportion of variables that contain missing or complete +#' data +#' +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' +#' @export +#' @name prop-miss-complete-var +#' +#' @examples +#' +#' prop_miss_var(riskfactors) +#' prop_miss_var(oceanbuoys) +#' prop_complete_var(riskfactors) +#' prop_complete_var(oceanbuoys) +#' +prop_miss_var <- function(data){ + test_if_null(data) + + test_if_dataframe(data) + + # find the proportion of variables that contain (any) missing values + mean(purrr::map_lgl(data, anyNA)) + +} # end function + +#' @export +#' @rdname prop-miss-complete-var +prop_complete_var <- function(data){ + 1 - prop_miss_var(data) + +} # end function + +#' Percentage of variables containing missings or complete values +#' +#' Calculate the percentage of variables that contain a single missing or +#' complete value. +#' +#' @param data a dataframe +#' +#' @return numeric the percent of variables that contain missing or complete +#' data +#' +#' @export +#' +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' +#' +#' @name pct-miss-complete-var +#' @examples +#' +#' prop_miss_var(riskfactors) +#' prop_miss_var(oceanbuoys) +#' prop_complete_var(riskfactors) +#' prop_complete_var(oceanbuoys) +#' +pct_miss_var <- function(data){ + # turn proportion into a percent + prop_miss_var(data) * 100 + +} # end function + +#' @export +#' @rdname pct-miss-complete-var + +pct_complete_var <- function(data){ + prop_complete_var(data) * 100 +} + +#' Proportion of cases that contain a missing or complete values. +#' +#' Calculate the proportion of cases (rows) that contain missing or complete +#' values. +#' +#' @param data a dataframe +#' +#' @return numeric the proportion of cases that contain a missing or complete +#' value +#' +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' +#' @export +#' @name prop-miss-complete-case +#' @importFrom stats complete.cases +#' @examples +#' +#' prop_miss_case(airquality) +#' prop_complete_case(airquality) +#' +prop_miss_case <- function(data){ + test_if_null(data) + + test_if_dataframe(data) + + temp <- data %>% + # which rows are complete? + stats::complete.cases() %>% + mean() + + # Return 1 if temp is 1 + # Prevent error when all the rows contain a NA and then mean is 1 + # so (1 -1)*100 = 0, whereas function should return 1 + if (temp == 1) { + return(1) + } else if (temp == 0) { + # Return 0 if temp is 0 + # Prevent error when no row contains a NA and then mean is 0 + # so (1 -0)*1 = 1, whereas function should return 0. + return(0) + } else { + return((1 - temp)) + } + +} + +#' @export +#' @rdname prop-miss-complete-case +prop_complete_case <- function(data){ + 1 - prop_miss_case(data) +} + +#' Percentage of cases that contain a missing or complete values. +#' +#' Calculate the percentage of cases (rows) that contain a missing or complete +#' value. +#' +#' @param data a dataframe +#' +#' @return numeric the percentage of cases that contain a missing or complete +#' value +#' +#' @seealso [pct_miss_case()] [prop_miss_case()] [pct_miss_var()] [prop_miss_var()] [pct_complete_case()] [prop_complete_case()] [pct_complete_var()] [prop_complete_var()] [miss_prop_summary()] [miss_case_summary]() [miss_case_table]() [miss_summary]() [miss_var_prop]() [miss_var_run]() [miss_var_span]() [miss_var_summary]() [miss_var_table]() +#' +#' @export +#' @name pct-miss-complete-case +#' +#' @examples +#' +#' pct_miss_case(airquality) +#' pct_complete_case(airquality) +#' +pct_miss_case <- function(data){ + prop_miss_case(data) * 100 +} + +#' @export +#' @rdname pct-miss-complete-case + +pct_complete_case <- function(data){ + prop_complete_case(data) * 100 + +} diff --git a/man/miss-complete-case-pct.Rd b/man/miss-complete-case-pct.Rd index f9f81418..dd2100d6 100644 --- a/man/miss-complete-case-pct.Rd +++ b/man/miss-complete-case-pct.Rd @@ -18,15 +18,8 @@ numeric the percentage of cases that contain a missing or complete value } \description{ -Calculate the percentage of cases (rows) that contain a missing or complete -value. -} -\examples{ - -miss_case_pct(airquality) -complete_case_pct(airquality) - +Deprecated, please see \code{\link[=miss_case_pct]{miss_case_pct()}} and \code{\link[=complete_case_pct]{complete_case_pct()}}. } \seealso{ -\url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss-complete-case-prop.Rd b/man/miss-complete-case-prop.Rd index 7ea4351c..e90e9125 100644 --- a/man/miss-complete-case-prop.Rd +++ b/man/miss-complete-case-prop.Rd @@ -18,15 +18,8 @@ numeric the proportion of cases that contain a missing or complete value } \description{ -Calculate the proportion of cases (rows) that contain missing or complete -values. -} -\examples{ - -miss_case_prop(airquality) -complete_case_prop(airquality) - +Deprecated, please see \code{\link[=miss_case_prop]{miss_case_prop()}} and \code{\link[=complete_case_prop]{complete_case_prop()}}. } \seealso{ -\url{miss_case_pct} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss-complete-var-pct.Rd b/man/miss-complete-var-pct.Rd index 493f2099..95f17af5 100644 --- a/man/miss-complete-var-pct.Rd +++ b/man/miss-complete-var-pct.Rd @@ -18,17 +18,8 @@ numeric the percent of variables that contain missing or complete data } \description{ -Calculate the percentage of variables that contain a single missing or -complete value. -} -\examples{ - -miss_var_pct(riskfactors) -miss_var_pct(oceanbuoys) -complete_var_pct(riskfactors) -complete_var_pct(oceanbuoys) - +Deprecated. Please see \code{\link[=miss_var_pct]{miss_var_pct()}} and \code{\link[=complete_var_pct]{complete_var_pct()}}. } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss-complete-var-prop.Rd b/man/miss-complete-var-prop.Rd index 387a7881..12308eb1 100644 --- a/man/miss-complete-var-prop.Rd +++ b/man/miss-complete-var-prop.Rd @@ -18,17 +18,8 @@ numeric the proportion of variables that contain missing or complete data } \description{ -Calculate the proportion of variables that contain a single missing or -complete values. -} -\examples{ - -miss_var_prop(riskfactors) -miss_var_prop(oceanbuoys) -complete_var_prop(riskfactors) -complete_var_prop(oceanbuoys) - +Deprecated. Please see \code{\link[=miss_var_prop]{miss_var_prop()}} and \code{\link[=complete_var_prop]{complete_var_prop()}}. } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss_case_summary.Rd b/man/miss_case_summary.Rd index 2c0e87a2..fd5f2a2a 100644 --- a/man/miss_case_summary.Rd +++ b/man/miss_case_summary.Rd @@ -39,5 +39,5 @@ miss_case_summary(airquality) } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/miss_case_table.Rd b/man/miss_case_table.Rd index b244af52..664b3e22 100644 --- a/man/miss_case_table.Rd +++ b/man/miss_case_table.Rd @@ -26,5 +26,5 @@ airquality \%>\% } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/miss_prop_summary.Rd b/man/miss_prop_summary.Rd index e5f98d31..96466a45 100644 --- a/man/miss_prop_summary.Rd +++ b/man/miss_prop_summary.Rd @@ -26,5 +26,5 @@ airquality \%>\% group_by(Month) \%>\% miss_prop_summary() } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \url{miss_case_summary} \url{miss_case_table} \url{miss_scan_count} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss_scan_count.Rd b/man/miss_scan_count.Rd index 3975c173..8439f72f 100644 --- a/man/miss_scan_count.Rd +++ b/man/miss_scan_count.Rd @@ -38,5 +38,5 @@ miss_scan_count(dat_ms,common_na_strings) } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss_summary.Rd b/man/miss_summary.Rd index 3adb26c2..115c0ff5 100644 --- a/man/miss_summary.Rd +++ b/man/miss_summary.Rd @@ -37,5 +37,5 @@ s_miss_group$miss_case_table } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/miss_var_run.Rd b/man/miss_var_run.Rd index 578998da..b88857d9 100644 --- a/man/miss_var_run.Rd +++ b/man/miss_var_run.Rd @@ -57,5 +57,5 @@ miss_var_run(pedestrian, hourly_counts) \%>\% } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/miss_var_span.Rd b/man/miss_var_span.Rd index 0925ee57..708768c1 100644 --- a/man/miss_var_span.Rd +++ b/man/miss_var_span.Rd @@ -39,5 +39,5 @@ miss_var_span(data = pedestrian, } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} } diff --git a/man/miss_var_summary.Rd b/man/miss_var_summary.Rd index 08745246..78c88fd3 100644 --- a/man/miss_var_summary.Rd +++ b/man/miss_var_summary.Rd @@ -40,5 +40,5 @@ airquality \%>\% } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/miss_var_table.Rd b/man/miss_var_table.Rd index 54f5adc0..d3ef4768 100644 --- a/man/miss_var_table.Rd +++ b/man/miss_var_table.Rd @@ -28,5 +28,5 @@ airquality \%>\% } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/n_complete_row.Rd b/man/n_complete_row.Rd index d0f3dfd1..68ea4a4c 100644 --- a/man/n_complete_row.Rd +++ b/man/n_complete_row.Rd @@ -23,5 +23,5 @@ n_complete_row(pedestrian) } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/n_miss_row.Rd b/man/n_miss_row.Rd index 6e33bd8e..12bd6ee6 100644 --- a/man/n_miss_row.Rd +++ b/man/n_miss_row.Rd @@ -23,5 +23,5 @@ n_miss_row(pedestrian) } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/naniar.Rd b/man/naniar.Rd index cef42c50..b8d2f06e 100644 --- a/man/naniar.Rd +++ b/man/naniar.Rd @@ -11,5 +11,5 @@ in R. It strives to do this in a way that is as consistent with tidyverse principles as possible. } \seealso{ -\url{add_any_miss} \url{add_label_missings} \url{add_label_shadow} \url{add_miss_cluster} \url{add_n_miss} \url{add_prop_miss} \url{add_shadow} \url{add_shadow_shift} \url{as_shadow} \url{bind_shadow} \url{cast_shadow} \url{cast_shadow_shift} \url{cast_shadow_shift_label} \url{draw_key_missing_point} \url{gather_shadow} \url{geom_miss_point} \url{gg_miss_case} \url{gg_miss_case_cumsum} \url{gg_miss_fct} \url{gg_miss_span} \url{gg_miss_var} \url{gg_miss_var_cumsum} \url{gg_miss_which} \url{label_miss_1d} \url{label_miss_2d} \url{label_missings} \url{miss_case_pct} \url{miss_case_prop} \url{miss_case_summary} \url{miss_case_table} \url{miss_prop_summary} \url{miss_scan_count} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} \url{prop_miss_row} \url{replace_to_na} \url{replace_with_na} \url{replace_with_na_all} \url{replace_with_na_at} \url{replace_with_na_if} \url{shadow_shift} \url{stat_miss_point} \url{vis_miss} \url{where_na} +\url{add_any_miss} \url{add_label_missings} \url{add_label_shadow} \url{add_miss_cluster} \url{add_n_miss} \url{add_prop_miss} \url{add_shadow} \url{add_shadow_shift} \url{as_shadow} \url{bind_shadow} \url{cast_shadow} \url{cast_shadow_shift} \url{cast_shadow_shift_label} \url{draw_key_missing_point} \url{gather_shadow} \url{geom_miss_point} \url{gg_miss_case} \url{gg_miss_case_cumsum} \url{gg_miss_fct} \url{gg_miss_span} \url{gg_miss_var} \url{gg_miss_var_cumsum} \url{gg_miss_which} \url{label_miss_1d} \url{label_miss_2d} \url{label_missings} \code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} \url{prop_miss_row} \url{replace_to_na} \url{replace_with_na} \url{replace_with_na_all} \url{replace_with_na_at} \url{replace_with_na_if} \url{shadow_shift} \url{stat_miss_point} \url{vis_miss} \url{where_na} } diff --git a/man/pct-miss-complete-case.Rd b/man/pct-miss-complete-case.Rd new file mode 100644 index 00000000..bb21fac3 --- /dev/null +++ b/man/pct-miss-complete-case.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prop-pct-var-case-miss-complete.R +\name{pct-miss-complete-case} +\alias{pct-miss-complete-case} +\alias{pct_miss_case} +\alias{pct_complete_case} +\title{Percentage of cases that contain a missing or complete values.} +\usage{ +pct_miss_case(data) + +pct_complete_case(data) +} +\arguments{ +\item{data}{a dataframe} +} +\value{ +numeric the percentage of cases that contain a missing or complete +value +} +\description{ +Calculate the percentage of cases (rows) that contain a missing or complete +value. +} +\examples{ + +pct_miss_case(airquality) +pct_complete_case(airquality) + +} +\seealso{ +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +} diff --git a/man/pct-miss-complete-var.Rd b/man/pct-miss-complete-var.Rd new file mode 100644 index 00000000..a3a6b950 --- /dev/null +++ b/man/pct-miss-complete-var.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prop-pct-var-case-miss-complete.R +\name{pct-miss-complete-var} +\alias{pct-miss-complete-var} +\alias{pct_miss_var} +\alias{pct_complete_var} +\title{Percentage of variables containing missings or complete values} +\usage{ +pct_miss_var(data) + +pct_complete_var(data) +} +\arguments{ +\item{data}{a dataframe} +} +\value{ +numeric the percent of variables that contain missing or complete +data +} +\description{ +Calculate the percentage of variables that contain a single missing or +complete value. +} +\examples{ + +prop_miss_var(riskfactors) +prop_miss_var(oceanbuoys) +prop_complete_var(riskfactors) +prop_complete_var(oceanbuoys) + +} +\seealso{ +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +} diff --git a/man/prop-miss-complete-case.Rd b/man/prop-miss-complete-case.Rd new file mode 100644 index 00000000..ad2e5ede --- /dev/null +++ b/man/prop-miss-complete-case.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prop-pct-var-case-miss-complete.R +\name{prop-miss-complete-case} +\alias{prop-miss-complete-case} +\alias{prop_miss_case} +\alias{prop_complete_case} +\title{Proportion of cases that contain a missing or complete values.} +\usage{ +prop_miss_case(data) + +prop_complete_case(data) +} +\arguments{ +\item{data}{a dataframe} +} +\value{ +numeric the proportion of cases that contain a missing or complete +value +} +\description{ +Calculate the proportion of cases (rows) that contain missing or complete +values. +} +\examples{ + +prop_miss_case(airquality) +prop_complete_case(airquality) + +} +\seealso{ +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +} diff --git a/man/prop-miss-complete-var.Rd b/man/prop-miss-complete-var.Rd new file mode 100644 index 00000000..1b81ba9d --- /dev/null +++ b/man/prop-miss-complete-var.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prop-pct-var-case-miss-complete.R +\name{prop-miss-complete-var} +\alias{prop-miss-complete-var} +\alias{prop_miss_var} +\alias{prop_complete_var} +\title{Proportion of variables containing missings or complete values} +\usage{ +prop_miss_var(data) + +prop_complete_var(data) +} +\arguments{ +\item{data}{a dataframe} +} +\value{ +numeric the proportion of variables that contain missing or complete +data +} +\description{ +Calculate the proportion of variables that contain a single missing or +complete values. +} +\examples{ + +prop_miss_var(riskfactors) +prop_miss_var(oceanbuoys) +prop_complete_var(riskfactors) +prop_complete_var(oceanbuoys) + +} +\seealso{ +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} +} diff --git a/man/prop_complete_row.Rd b/man/prop_complete_row.Rd index 37426b52..0d54e34b 100644 --- a/man/prop_complete_row.Rd +++ b/man/prop_complete_row.Rd @@ -23,5 +23,5 @@ prop_complete_row(pedestrian) } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/man/prop_miss_row.Rd b/man/prop_miss_row.Rd index adaec75b..18598f58 100644 --- a/man/prop_miss_row.Rd +++ b/man/prop_miss_row.Rd @@ -23,5 +23,5 @@ prop_miss_row(pedestrian) } \seealso{ -\url{miss_case_pct} \url{miss_case_prop} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_pct} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} +\code{\link[=pct_miss_case]{pct_miss_case()}} \code{\link[=prop_miss_case]{prop_miss_case()}} \code{\link[=pct_miss_var]{pct_miss_var()}} \code{\link[=prop_miss_var]{prop_miss_var()}} \code{\link[=pct_complete_case]{pct_complete_case()}} \code{\link[=prop_complete_case]{prop_complete_case()}} \code{\link[=pct_complete_var]{pct_complete_var()}} \code{\link[=prop_complete_var]{prop_complete_var()}} \code{\link[=miss_prop_summary]{miss_prop_summary()}} \url{miss_case_summary} \url{miss_case_table} \url{miss_summary} \url{miss_var_prop} \url{miss_var_run} \url{miss_var_span} \url{miss_var_summary} \url{miss_var_table} \url{n_complete} \url{n_complete_row} \url{n_miss} \url{n_miss_row} \url{pct_complete} \url{pct_miss} \url{prop_complete} \url{prop_complete_row} \url{prop_miss} } diff --git a/tests/figs/deps.txt b/tests/figs/deps.txt index b947110d..bce8dbb5 100644 --- a/tests/figs/deps.txt +++ b/tests/figs/deps.txt @@ -3,4 +3,4 @@ FreeType: 2.7.0 Cairo: 1.14.6 vdiffr: 0.2.3 svglite: 1.2.1 -ggplot2: 2.2.1.9000 +ggplot2: 3.0.0 diff --git a/tests/figs/test-gg-miss-upset-r/gg-miss-upset.svg b/tests/figs/test-gg-miss-upset-r/gg-miss-upset.svg new file mode 100644 index 00000000..b590cc42 --- /dev/null +++ b/tests/figs/test-gg-miss-upset-r/gg-miss-upset.svg @@ -0,0 +1 @@ + diff --git a/tests/testthat/test-complete-x-pct.R b/tests/testthat/test-complete-x-pct.R deleted file mode 100644 index 6afa9742..00000000 --- a/tests/testthat/test-complete-x-pct.R +++ /dev/null @@ -1,53 +0,0 @@ -context("complete_case/var_pct/prop tidiers") - -test_that("complete_*_pct errors on NULL",{ - expect_error(prop_complete(NULL)) - expect_error(complete_var_pct(NULL)) - expect_error(complete_case_pct(NULL)) -}) - -test_that("complete_var/case_pct errors when a non-dataframe given",{ - expect_error(complete_var_pct(1)) - expect_error(complete_var_pct("a")) - expect_error(complete_var_pct(matrix(iris))) - - expect_error(complete_case_pct(1)) - expect_error(complete_case_pct("a")) - expect_error(complete_case_pct(matrix(iris))) -}) - -test_that("complete_*_pct produces a single, numeric number", { - - expect_length(prop_complete(airquality), 1) - expect_type(prop_complete(airquality), "double") - - expect_length(complete_var_pct(airquality), 1) - expect_type(complete_var_pct(airquality), "double") - - expect_length(complete_case_pct(airquality), 1) - expect_type(complete_case_pct(airquality), "double") -}) - -test_that("complete_* is the appropriate complement", { - - sum_props <- prop_complete(airquality) + prop_miss(airquality) - - expect_equivalent(sum_props, 1) - - sum_pcts <- complete_var_pct(airquality) + miss_var_pct(airquality) - - expect_equivalent(sum_pcts, 100) - - sum_var_props <- complete_var_prop(airquality) + miss_var_prop(airquality) - - expect_equivalent(sum_var_props, 1) - - sum_case_pct <- complete_case_pct(airquality) + miss_case_pct(airquality) - - expect_equivalent(sum_case_pct, 100) - - sum_case_prop <- complete_case_prop(airquality) + miss_case_prop(airquality) - - expect_equivalent(sum_case_prop, 1) - -}) diff --git a/tests/testthat/test-miss-x-pct.R b/tests/testthat/test-miss-x-pct.R index 9304f93d..caba19fc 100644 --- a/tests/testthat/test-miss-x-pct.R +++ b/tests/testthat/test-miss-x-pct.R @@ -1,29 +1,104 @@ -context("miss_*_pct tidiers") +context("missingness scalar summaries") -test_that("miss_*_pct errors on NULL",{ +test_that("prop_miss* errors on NULL",{ expect_error(prop_miss(NULL)) - expect_error(miss_var_pct(NULL)) - expect_error(miss_case_pct(NULL)) + expect_error(prop_miss_var(NULL)) + expect_error(prop_miss_case(NULL)) }) -test_that("miss_*_pct errors when a non-dataframe given",{ - expect_error(miss_var_pct(1)) - expect_error(miss_var_pct("a")) - expect_error(miss_var_pct(matrix(iris))) +test_that("pct_miss* errors on NULL",{ + expect_error(pct_miss(NULL)) + expect_error(pct_miss_var(NULL)) + expect_error(pct_miss_case(NULL)) +}) + +test_that("prop_complete* errors on NULL",{ + expect_error(prop_complete(NULL)) + expect_error(prop_complete_var(NULL)) + expect_error(prop_complete_case(NULL)) +}) + +test_that("pct_complete* errors on NULL",{ + expect_error(pct_complete(NULL)) + expect_error(pct_complete_var(NULL)) + expect_error(pct_complete_case(NULL)) +}) + +test_that("prop_miss* errors when a non-dataframe given",{ + expect_error(prop_miss_var(1)) + expect_error(prop_miss_var("a")) + expect_error(prop_miss_var(matrix(iris))) + + expect_error(prop_miss_case(1)) + expect_error(prop_miss_case("a")) + expect_error(prop_miss_case(matrix(iris))) +}) + +test_that("prop_complete* errors when a non-dataframe given",{ + expect_error(prop_complete_var(1)) + expect_error(prop_complete_var("a")) + expect_error(prop_complete_var(matrix(iris))) + + expect_error(prop_complete_case(1)) + expect_error(prop_complete_case("a")) + expect_error(prop_complete_case(matrix(iris))) +}) +test_that("pct_miss* errors when a non-dataframe given",{ + expect_error(pct_miss_var(1)) + expect_error(pct_miss_var("a")) + expect_error(pct_miss_var(matrix(iris))) + + expect_error(pct_miss_case(1)) + expect_error(pct_miss_case("a")) + expect_error(pct_miss_case(matrix(iris))) +}) + +test_that("pct_complete* errors when a non-dataframe given",{ + expect_error(pct_complete_var(1)) + expect_error(pct_complete_var("a")) + expect_error(pct_complete_var(matrix(iris))) - expect_error(miss_case_pct(1)) - expect_error(miss_case_pct("a")) - expect_error(miss_case_pct(matrix(iris))) + expect_error(pct_complete_case(1)) + expect_error(pct_complete_case("a")) + expect_error(pct_complete_case(matrix(iris))) }) -test_that("miss_*_pct produces a single, numeric number", { +test_that("missingness scalar summaries produce a single, numeric number", { expect_length(prop_miss(airquality), 1) expect_type(prop_miss(airquality), "double") - expect_length(miss_var_pct(airquality), 1) - expect_type(miss_var_pct(airquality), "double") + expect_length(pct_miss(airquality), 1) + expect_type(pct_miss(airquality), "double") + + expect_length(prop_miss_var(airquality), 1) + expect_type(prop_miss_var(airquality), "double") + + expect_length(pct_miss_var(airquality), 1) + expect_type(pct_miss_var(airquality), "double") + + expect_length(prop_miss_case(airquality), 1) + expect_type(prop_miss_case(airquality), "double") + + expect_length(pct_miss_case(airquality), 1) + expect_type(pct_miss_case(airquality), "double") + + expect_length(prop_complete(airquality), 1) + expect_type(prop_complete(airquality), "double") + + expect_length(pct_complete(airquality), 1) + expect_type(pct_complete(airquality), "double") + + expect_length(prop_complete_var(airquality), 1) + expect_type(prop_complete_var(airquality), "double") + + expect_length(pct_complete_var(airquality), 1) + expect_type(pct_complete_var(airquality), "double") + + expect_length(prop_complete_case(airquality), 1) + expect_type(prop_complete_case(airquality), "double") + + expect_length(pct_complete_case(airquality), 1) + expect_type(pct_complete_case(airquality), "double") - expect_length(miss_case_pct(airquality), 1) - expect_type(miss_case_pct(airquality), "double") })