A data quality check should make missing values visible before analysis continues.

Program

Play the script to change the allowed number of missing values and see the quality status.

missing_rate.R
allowed_missing <- 
score <- c(91, NA, 88, NA, 76)
missing <- is.na(score)
missing_count <- sum(missing)
status <- if (missing_count <= allowed_missing) "ok" else "review"
label <- paste(status, missing_count, sep = ":")
cat(label, "\n", sep = "")
allowed_missing <- 
score <- c(91, NA, 88, NA, 76)
missing <- is.na(score)
missing_count <- sum(missing)
status <- if (missing_count <= allowed_missing) "ok" else "review"
label <- paste(status, missing_count, sep = ":")
cat(label, "\n", sep = "")
allowed_missing <- 
score <- c(91, NA, 88, NA, 76)
missing <- is.na(score)
missing_count <- sum(missing)
status <- if (missing_count <= allowed_missing) "ok" else "review"
label <- paste(status, missing_count, sep = ":")
cat(label, "\n", sep = "")
missing marker `NA` marks values that are not available.
diagnostic vector `is.na(score)` checks each value independently.
quality gate `allowed_missing` makes the pass/fail threshold explicit.