validateSchema {tabshiftr} | R Documentation |
Check and update schema descriptions
Description
This function takes a raw schema description and updates values that were
only given as wildcard or implied values. It is automatically called by
reorganise
, but can also be used in concert with the getters to debug
a schema.
Usage
validateSchema(schema = NULL, input = NULL)
Arguments
schema |
[ |
input |
[ |
Details
The core idea of a schema description is that it can be written in a
very generic way, as long as it describes sufficiently where in a table
what variable can be found. A very generic way can be via using the
function .find
to identify the initially unknown
cell-locations of a variable on-the-fly, for example when it is merely
known that a variable must be in the table, but not where it is.
validateSchema
matches a schema with an input table and inserts the
accordingly evaluated positions (of clusters, filters and variables),
adapts some of the meta-data and ensures formal consistency of the schema.
Value
An updated schema description
Examples
# build a schema for an already tidy table
(tidyTab <- tabs2shift$tidy)
schema <-
setIDVar(name = "territories", col = 1) %>%
setIDVar(name = "year", col = .find(pattern = "period")) %>%
setIDVar(name = "commodities", col = 3) %>%
setObsVar(name = "harvested", col = 5) %>%
setObsVar(name = "production", col = 6)
# before ...
schema
# ... after
validateSchema(schema = schema, input = tidyTab)