Data Import Checks
Column Names
Compare Expected Fields
Imported data should expose the fields that downstream code expects.
Program
Play the script to choose the imported third column and see whether the schema check passes.
column_names.R
expected <- c("id", "score", "group")
actual <- c("id", "score", "grp")
rename_choice <-
replacement <- c("team", "group", "group_id")[rename_choice]
actual[3] <- replacement
missing <- setdiff(expected, actual)
extra <- setdiff(actual, expected)
label <- paste(length(missing), length(extra), sep = ":")
cat(label, "\n", sep = "")
expected <- c("id", "score", "group")
actual <- c("id", "score", "grp")
rename_choice <-
replacement <- c("team", "group", "group_id")[rename_choice]
actual[3] <- replacement
missing <- setdiff(expected, actual)
extra <- setdiff(actual, expected)
label <- paste(length(missing), length(extra), sep = ":")
cat(label, "\n", sep = "")
expected <- c("id", "score", "group")
actual <- c("id", "score", "grp")
rename_choice <-
replacement <- c("team", "group", "group_id")[rename_choice]
actual[3] <- replacement
missing <- setdiff(expected, actual)
extra <- setdiff(actual, expected)
label <- paste(length(missing), length(extra), sep = ":")
cat(label, "\n", sep = "")
expected fields
A schema check starts from the columns later code requires.
missing fields
`setdiff(expected, actual)` finds required columns that did not arrive.
extra fields
`setdiff(actual, expected)` finds unexpected columns to review.