R/03-harmonized_data_evaluate.R
dataschema_evaluate.Rd
Assesses the content and structure of a DataSchema object and generates reports of the results. This function can be used to evaluate data structure, presence of specific fields, coherence across elements, and data dictionary formats.
dataschema_evaluate(dataschema, taxonomy = NULL)
A DataSchema object.
An optional data frame identifying a variable classification schema.
A list of data frames containing assessment reports.
A DataSchema is the list of core variables to generate across datasets and
related metadata. A DataSchema object is a list of data frames with elements
named 'Variables' (required) and 'Categories' (if any). The 'Variables'
element must contain at least the name
column, and the 'Categories'
element must contain at least the variable
and name
columns to be usable
in any function. In 'Variables' the name
column must also have unique
entries, and in 'Categories' the combination of variable
and name
columns
must also be unique.
A taxonomy is a classification schema that can be defined for variable
attributes. A taxonomy is usually extracted from an
Opal environment, and a
taxonomy object is a data frame that must contain at least the columns
taxonomy
, vocabulary
, and terms
. Additional details about Opal
taxonomies are
available online.
{
# Use Rmonize_examples to run examples.
library(dplyr)
dataschema <- Rmonize_examples$`DataSchema`
eval_dataschema <- dataschema_evaluate(dataschema)
glimpse(eval_dataschema)
}
#> - DATA DICTIONARY ASSESSMENT: dataschema --------------
#> Assess the standard adequacy of naming
#> Assess the uniqueness and presence of variable names
#> Assess the presence of possible duplicated columns
#> Assess the presence of duplicated rows
#> Assess the presence of empty rows in the data dictionary
#> Assess the presence of empty column in the data dictionary
#> Assess the presence of categories not in the data dictionary
#> Assess the `valueType` column in 'Variables'
#> Assess the completion of `label` column in 'Variables'
#> Assess presence and completion of `label` column in 'Categories'
#> Assess the logical values of missing column in Categories
#> Generate report
#>
#> The data dictionary contains no errors/warnings.
#>
#> - WARNING MESSAGES (if any): --------------------------------------------
#>
#> List of 1
#> $ Data dictionary summary: tibble [9 × 5] (S3: tbl_df/tbl/data.frame)
#> ..$ Index : chr [1:9] "1" "2" "3" "4" ...
#> ..$ Variable name : chr [1:9] "adm_unique_id" "adm_study_id" "sdc_age_m" "sdc_marital_m" ...
#> ..$ Variable label : chr [1:9] "Participant identifier" "Study ID" "Age of mother at first visit" "Marital status of mother at first visit" ...
#> ..$ Categories in data dictionary: chr [1:9] NA "[1] Study 1\n[2] Study 2\n[3] Study 3\n[4] Study 4\n[5] Study 5" NA "[0] Single (never married) or not living with partner\n[1] Married or living with partner\n[2] Divorced or sepa"| __truncated__ ...
#> ..$ Non-valid categories : chr [1:9] NA NA NA NA ...