| 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)