Apply "QC checks" on calculated metrics and station/sample attributes to "flag" samples for the user. Examples include watershed size or total number of individuals. Can have checks for both high and low values. Checks are stored in separate file. For structure see df.checks in example.

qc.checks(df.metrics, df.checks, input.shape = "wide")

Arguments

df.metrics

Wide data frame with metric values to be evaluated.

df.checks

Data frame of metric thresholds to check.

input.shape

Shape of df.metrics; wide or long. Default is wide.

Value

Returns a data frame of SampleID checks and results; Pass and Fail.

Details

used reshape2 package

Examples

library(readxl)

# Calculate Metrics
df.samps.bugs <- read_excel(system.file("./extdata/Data_Benthos.xlsx"
                                       , package="BioMonTools")
                           , guess_max = 10^6)

# Columns to keep
myCols <- c("Area_mi2", "SurfaceArea", "Density_m2", "Density_ft2")

# Run Function
myDF <- df.samps.bugs
df.metric.values.bugs <- metric.values(myDF, "bugs", fun.cols2keep=myCols)
#> Updated col class; TOLVAL2 to numeric
#> Joining with `by = join_by(SAMPLEID, INDEX_NAME, INDEX_CLASS)`

# Import Checks
df.checks <- read_excel(system.file("./extdata/MetricFlags.xlsx"
                                          , package="BioMonTools")
                                          , sheet="Flags")
if (FALSE) {
# View Checks
View(df.checks)
}

# Run Function
df.flags <- qc.checks(df.metric.values.bugs, df.checks)

# Summarize Results
table(df.flags[,"CHECKNAME"], df.flags[,"FLAG"], useNA="ifany")
#>                                  
#>                                   FAIL PASS <NA>
#>   Low density (ft2)                  0    0  678
#>   Low density (m2)                   0    0  678
#>   Ramellogammarus                    8  670    0
#>   brackish organisms present         7  671    0
#>   catchment, Large                   0  678    0
#>   catchment, small                 158  520    0
#>   individuals, Large                 0  678    0
#>   individuals, dominant 02, Large  204  474    0
#>   individuals, small                80  598    0
#>   surface area, small              112  556   10