knitr::opts_chunk$set(echo = TRUE, results = "asis")
library(epiuf)

Update source to dictionary generic structure

This is a first rename function which use a data dictionary.

source <- data.frame(source1=c(1,2,3),source2=c(2,3,4),source3=c(4,5,6),source6=c(6,7,8))

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA),
                  source_name=c("source1","source2","source3",NA,NA,"source6"),
                  type=c("numeric","numeric","character","numeric","character",NA))


new <- applyDictionary(dictionary=dic,data=source)

Test for error (duplicated variable name in dico)

This is a test of the data dictionary. duplicated names are not allowed in the dictionnary generic variable list

source <- data.frame(source1=c(1,2,3),source2=c(2,3,4),source3=c(4,5,6),source6=c(6,7,8))

dic <- data.frame(generic_name=c("gen1","gen1","gen3","gen4","gen5",NA),
                  source_name=c("source1","source2","source3",NA,NA,"source6"),
                  type=c("numeric","numeric","numeric","character","character",NA))

new <- applyDictionary(dictionary=dic,data=source)

Verify Nothing to do

This is a first rename function which use a data dictionary.

source <- data.frame(source1=c(1,2,3),source2=c(2,3,4),source3=c(4,5,6))

dic <- data.frame(generic_name=c("source1","source2","source3"),
                  source_name=c("source1","source2","source3"),
                  type=c("numeric","numeric","numeric"))

new <- applyDictionary(dictionary=dic,data=source)

Keep Extra variables in updated data

source <- data.frame(source1=c(1,2,3),source2=c(2,3,4),source3=c(4,5,6),source4=c(5,6,7), source6=c(6,7,8))

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA),
                  source_name=c("source1","source2","source3",NA,NA,"source6"),
                  type=c("numeric","numeric","numeric","character","character",NA))


new <- applyDictionary(dic,source,keepextra = TRUE)

Complex version which mix everything

source <- data.frame(source1=c(1,2,3),source2=c(2,3,4),source4=c(4,5,6),source6=c(6,7,8))

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA,NA),
                  source_name=c("source1","source2","source3","",NA,"source6",NA),
                  type=c("numeric","numeric","numeric","character"," ","character",NA))


new <- applyDictionary(dic,source)

Utility function for dico

Retrieve values from dico by name

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA,NA),
                  source_name=c("source1","source2","source3","",NA,"source6",NA),
                  type=c("numeric","numeric","numeric","character"," ","character",NA),
                  unknowns=c("","8","UNK","","","",""))

setDictionary(dictionary = dic)

val <- getDictionaryValue("gen1","type")
print(val)

val <- getDictionaryValue("gen3","unknowns")
print(val)

Retrieve the dico dataset

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA,NA),
                  source_name=c("source1","source2","source3","",NA,"source6",NA),
                  type=c("numeric","numeric","numeric","character"," ","character",NA)
                  )

setDictionary(dictionary = dic)

retrieved <- getDictionary()
print(retrieved)

Manage dico

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA,NA),
                  source_name=c("source1","source2","source3","",NA,"source6",NA),
                  type=c("numeric","numeric","numeric","character"," ","character",NA),
                  unknowns=c("","8","UNK","","","","")
                  )

setDictionary(dictionary = dic)
FileName <-   "generic dictionary.xlsx" 
saveDictionary(filename = FileName)

if (file.exists(FileName)) {print("Dictionary successfully saved")}

Manage dico open file

FileName <-   "generic dictionary.xlsx" 
openDictionary(filename = FileName)

getDictionary()

# clean dir 
file.remove(FileName)

Manage dico

dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA,NA),
                  source_name=c("source1","source2","source3","",NA,"source6",NA),
                  type=c("numeric","numeric","numeric","character"," ","character",NA),
                  unknowns=c("","8","UNK","","","","")
                  )

setDictionary(dictionary = dic)
OneLine <- getNewDictionaryLine()
print(OneLine)
dic <- data.frame(generic_name=c("gen1","gen2","gen3","gen4","gen5",NA,NA),
                  source_name=c("source1","source2","source3","",NA,"source6",NA),
                  type=c("numeric","numeric","numeric","character"," ","character",NA),
                  unknowns=c("","8","UNK","","","","")
                  )

setDictionary(dictionary = dic)
getDictionaryValue("gen3","unknowns")
getDictionaryValue("gen1","unknowns")
getDictionaryValue("gen9","unknowns")
tryCatch(getDictionaryValue("gen3","unknows"))


Epiconcept-Paris/STRAP-epiuf documentation built on Aug. 5, 2024, 3:41 a.m.