--- title: "General ADC/SASAP data team use" date: "Last updated `r Sys.Date()`" output: rmarkdown::html_vignette: vignette: > %\VignetteIndexEntry{General data team use} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ``` ## Create attributes tables The `create_attributes_table()` function allows editing of an attributes table, factor table, or custom units table in a Shiny environment. Example: ```{r} create_attributes_table(NULL, NULL) data <- read.csv("Test.csv") create_attributes_table(data, NULL) attributes_table <- EML::get_attributes(eml@dataset@dataTable[[i]]@attributeList)$attributes create_attributes_table(NULL, attributes_table) create_attributes_table(data, attributes_table) ``` ## Format custom units The `return_eml_units()` function uses the udunits2 unit library to format an inputted unit into an EML unit form. Example: ```{r} # The following all return the same data frame return_eml_units("kilometersPerSquareSecond") # preferred input form return_eml_units("Kilometers per seconds squared") return_eml_units("km/s^2") return_eml_units("km s-2") return_eml_units("s-2 / kilometers-1") # works but is not advised ``` ## Adding an ORCID to a creator A complete data package requires that at minimum one creator includes an associated ORCID. The `add_creator_id()` function allows you to add an ORCID or reference ID to any creator in the EML. Example: ```{r} eml_path <- file.path(system.file(package = "datamgmt"), "dummy_meta_full.xml") eml <- EML::read_eml(eml_path_original) add_creator_id(eml, orcid = "https://orcid.org/WWWW-XXXX-YYYY-ZZZZ") eml <- eml %>% add_creator_id(surname = "high-stakes", orcid = "https://orcid.org/0000-1234-5678-4321", id = "henrietta") #use references to add updated contact info to Henrietta's other roles eml@dataset@contact[[1]] <- new("contact", reference = "henrietta") eml@dataset@metadataProvider[[1]] <- new("metadataProvider", reference = "henrietta") ``` ## Quality assurance for data packages The `qa_package()` function checks that the attributes in the EML match the values in the data. Example: ```{r} qa_package(mn, pid, readAllData = FALSE, check_attributes = TRUE, check_creators = FALSE, check_access = FALSE) ```