Skip to contents

Checks that data contents conform to the csfmt_rts_data_v1 schema specification. The validator checks the granularity_time, granularity_geo, border, sex, and date fields against the values that schema allows.

Usage

validator_field_contents_csfmt_rts_data_v1(data)

Arguments

data

A data.frame or data.table containing the data to validate.

Value

TRUE if data is valid for csfmt_rts_data_v1, FALSE otherwise (with error attribute).

See also

DBTable_v9, which takes this as its validator_field_contents argument and calls it from its insert_data() and upsert_data() methods. The introduction vignette, vignette("csdb", package = "csdb"), does not use this validator.

Other field contents validators: validator_field_contents_blank(), validator_field_contents_csfmt_rts_data_v2()

Examples

# Valid data for csfmt_rts_data_v1 (all required columns present)
valid_data <- data.frame(
  granularity_time = c("date", "isoyearweek", "total"),
  granularity_geo = c("nation", "county", "municip"),
  border = c("2020", "2020", "2020"),
  sex = c("total", "total", "total"),
  date = as.Date(c("2020-01-01", "2020-01-08", "2020-01-01")),
  stringsAsFactors = FALSE
)
validator_field_contents_csfmt_rts_data_v1(valid_data)
#> [1] TRUE

# Invalid data (unrecognised granularity_geo value)
invalid_data <- data.frame(
  granularity_time = "date",
  granularity_geo = "invalid_geo",
  border = "2020",
  sex = "total",
  date = as.Date("2020-01-01"),
  stringsAsFactors = FALSE
)
validator_field_contents_csfmt_rts_data_v1(invalid_data)
#> [1] FALSE
#> attr(,"var")
#> [1] "granularity_geo"