Generates a data frame report of any variable with a valueType that is not in the list of allowed valueType values. This function also assesses if the valueType is compatible with any associated categorical values declared. This report can be used to help assess data structure, presence of fields, coherence across elements, and taxonomy or data dictionary formats.

check_data_dict_valueType(data_dict)

Arguments

data_dict

A list of data frame(s) representing metadata to be evaluated.

Value

A data frame providing non-standard valueType declared in a data dictionary.

Details

A data dictionary contains the list of variables in a dataset and metadata about the variables and can be associated with a dataset. A data dictionary object is a list of data frame(s) named 'Variables' (required) and 'Categories' (if any). To be usable in any function, the data frame 'Variables' must contain at least the name column, with all unique and non-missing entries, and the data frame 'Categories' must contain at least the variable and name columns, with unique combination of variable and name.

The valueType is a declared property of a variable that is required in certain functions to determine handling of the variables. Specifically, valueType refers to the OBiBa data type of a variable. The valueType is specified in a data dictionary in a column 'valueType' and can be associated with variables as attributes. Acceptable valueTypes include 'text', 'integer', 'decimal', 'boolean', datetime', 'date'. The full list of OBiBa valueType possibilities and their correspondence with R data types are available using valueType_list. The valueType can be used to coerce the variable to the corresponding data type.

Examples

{

# use madshapR_DEMO provided by the package

data_dict <- madshapR_DEMO$`data_dict_TOKYO - errors`
check_data_dict_valueType(data_dict)

}
#> # A tibble: 4 × 4
#>   name_var  value     condition                                       suggestion
#>   <chr>     <chr>     <chr>                                           <chr>     
#> 1 weight_dc integr    [ERR] - Incompatible valueType names with Opal… NA        
#> 2 opentext  character [ERR] - Incompatible valueType names with Opal… NA        
#> 3 gndr      boolean   [ERR] - valueType conflict in 'Categories'      text      
#> 4 height    decimal   [ERR] - valueType conflict in 'Categories'      text