Skip to content

An R package for Quality Analysis and Quality Control

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

B-Nilson/quacker

Repository files navigation

quacker

The goal of quacker is to improve the ease and consistency of quality analysis and quality control (QA/QC) methods used in data science.

quacker is still in active development.

Installation

You can install the development version of quacker like so:

# install.packages("pak")
pak::pak("B-Nilson/quacker")

Example

Here is how you can use quaker to QA/QC timeseries data:

library(quacker)

example_ts <- data.frame(
  date = seq(
    lubridate::ymd_h("2022-01-01 00"),
    lubridate::ymd_h("2022-01-01 23"),
    by = "1 hour"
  ),
  value_a = 1:24,
  value_b = rep(1:6, each = 3) |> c(100, 0, 0, 0, 0, NA)
)

flagged_data <- qaqc_timeseries(
  ts_data = example_ts,
  date_col = "date",
  value_cols = c("value_a", "value_b"),
  allowed_range = c(0, 80),
  allowed_steps = list("1 hours" = 5, "3 hours" = 100),
  allowed_repeats = 3,
  precision = 1
)

flagged_data |>
  dplyr::select(-"date") |> # for cleaner printing
  print(n = 24)
#> # A tibble: 24 × 8
#>    value_a value_b .flag_value_a .flags_value_a .flag_name_value_a .flag_value_b
#>      <int>   <dbl>         <int> <list>         <chr>                      <int>
#>  1       1       1             0 <tibble>       <NA>                           0
#>  2       2       1             0 <tibble>       <NA>                           0
#>  3       3       1             0 <tibble>       <NA>                           0
#>  4       4       2             0 <tibble>       <NA>                           0
#>  5       5       2             0 <tibble>       <NA>                           0
#>  6       6       2             0 <tibble>       <NA>                           0
#>  7       7       3             0 <tibble>       <NA>                           0
#>  8       8       3             0 <tibble>       <NA>                           0
#>  9       9       3             0 <tibble>       <NA>                           0
#> 10      10       4             0 <tibble>       <NA>                           0
#> 11      11       4             0 <tibble>       <NA>                           0
#> 12      12       4             0 <tibble>       <NA>                           0
#> 13      13       5             0 <tibble>       <NA>                           0
#> 14      14       5             0 <tibble>       <NA>                           0
#> 15      15       5             0 <tibble>       <NA>                           0
#> 16      16       6             0 <tibble>       <NA>                           0
#> 17      17       6             0 <tibble>       <NA>                           0
#> 18      18       6             0 <tibble>       <NA>                           0
#> 19      19     100             0 <tibble>       <NA>                          12
#> 20      20       0             0 <tibble>       <NA>                           7
#> 21      21       0             0 <tibble>       <NA>                           7
#> 22      22       0             0 <tibble>       <NA>                           7
#> 23      23       0             0 <tibble>       <NA>                           3
#> 24      24      NA             0 <tibble>       <NA>                          16
#> # ℹ 2 more variables: .flags_value_b <list>, .flag_name_value_b <chr>

flagged_data |> 
  plot_timeseries_qaqc()
#> Warning in guess_date_col(date_col, data = qaqced_ts_data): guessing `date_col`
#> from provided data - set `date_col` directly to quiet this warning
#> Warning in guess_value_cols(value_cols, data = qaqced_ts_data): guessing
#> `value_cols` from provided data - set `value_cols` directly to quiet this
#> warning
#> Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
#> ℹ Please use tidy evaluation idioms with `aes()`.
#> ℹ See also `vignette("ggplot2-in-packages")` for more information.
#> ℹ The deprecated feature was likely used in the quacker package.
#>   Please report the issue to the authors.
#> This warning is displayed once every 8 hours.
#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
#> generated.
#> Warning: Removed 7 rows containing missing values or values outside the scale range
#> (`geom_line()`).
#> Warning: Removed 7 rows containing non-finite outside the scale range
#> (`stat_density()`).

About

An R package for Quality Analysis and Quality Control

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages