[{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"easy-data-set-to-data-base-workflow","dir":"Articles","previous_headings":"","what":"Easy data set to data base workflow","title":"ds2dd","text":"function can used simple tool creating data base metadata file REDCap (called DataDictionary) based given data set file.","code":""},{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"step-1---load-your-data-set","dir":"Articles","previous_headings":"Easy data set to data base workflow","what":"Step 1 - Load your data set","title":"ds2dd","text":"’ll use sample TALOS dataset included package.","code":"data(\"talos\") ds <- talos # As the data set lacks an ID column, one is added ds$id <- seq_len(nrow(ds))"},{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"step-2---create-the-datadictionary","dir":"Articles","previous_headings":"Easy data set to data base workflow","what":"Step 2 - Create the DataDictionary","title":"ds2dd","text":"Now additional specifications DataDictionary can made manually, can uploaded modified manually graphical user interface web page. function transform column names lower case substitute spaces underscores. output list DataDictionary vector new column names dataset fit meta data.","code":"datadictionary <- ds2dd(ds,record.id = \"id\",include.column.names = TRUE)"},{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"step-3---meta-data-upload","dir":"Articles","previous_headings":"Easy data set to data base workflow","what":"Step 3 - Meta data upload","title":"ds2dd","text":"Now DataDictionary can exported spreadsheet uploaded can uploaded using REDCapR package (projects “Development” status). Use one two approaches :","code":""},{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"manual-upload","dir":"Articles","previous_headings":"Easy data set to data base workflow > Step 3 - Meta data upload","what":"Manual upload","title":"ds2dd","text":"","code":"write.csv(datadictionary$DataDictionary,\"datadictionary.csv\")"},{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"upload-with-redcapr","dir":"Articles","previous_headings":"Easy data set to data base workflow > Step 3 - Meta data upload","what":"Upload with REDCapR","title":"ds2dd","text":"“REDCap R Handbook” written interfacing REDCap R using library(keyring)store credentials chapter 1.1.","code":"REDCapR::redcap_metadata_write( datadictionary$DataDictionary, redcap_uri = keyring::key_get(\"DB_URI\"), token = keyring::key_get(\"DB_TOKEN\") )"},{"path":"https://agdamsbo.github.io/stRoke/articles/ds2dd.html","id":"step-4---data-upload","dir":"Articles","previous_headings":"Easy data set to data base workflow","what":"Step 4 - Data upload","title":"ds2dd","text":"two options available data upload meta data upload: manual REDCapR. latter shown .","code":"# new column names are applied colnames(ds) <- datadictionary$`Column names` REDCapR::redcap_write( ds, redcap_uri = keyring::key_get(\"DB_URI\"), token = keyring::key_get(\"DB_TOKEN\") )"},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"a-toolbox","dir":"Articles","previous_headings":"","what":"A toolbox","title":"Toolbox","text":"toolbox small workshop mix old, worn, well proven tools newcomers. package seen something like . tried collect tools functions packages use regularly addition functions written fill use cases, able find solutions elsewhere. documenting testing package, used OpenAI’s chatgpt gpttools. chatgpt interesting tool, way perfect, helps tedious tasks. gpttools gptstudio interesting implementations R RStudio.","code":""},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"cpr-intro","dir":"Articles","previous_headings":"A toolbox","what":"CPR manipulations","title":"Toolbox","text":"Note , handled, CPR numbers (social security numbers) handled care considered highly sensitive data. CPR number structured DDMMYY-XXXX, 1st X designating decade birth, last X designate binary gender (biological sex) dependent even/uneven female/male, last digits used modulus calculation verify validity CPR number. Foreigners unidentified persons given temporary CPR numbers including letters. information can found cpr.dk. Note, CPR numbers used examples publicly known non-organic.","code":""},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"age_calc","dir":"Articles","previous_headings":"A toolbox > CPR manipulations","what":"age_calc()","title":"Toolbox","text":"age_calc() function created learning exercise functions similarly lubridate::time_length().","code":"(age <- age_calc(as.Date(\"1945-10-23\"), as.Date(\"2018-09-30\"))) #> [1] 72.93699 trunc(age) #> [1] 72"},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"cpr_check","dir":"Articles","previous_headings":"A toolbox > CPR manipulations","what":"cpr_check()","title":"Toolbox","text":"Checks validity CPR numbers according modulus 11 rule. Note due limitations possible available CPR numbers, rule apply CPR numbers 2007. Including CPR numbers letters gives warning NA, can checked modulus 11 function. used care, see message.","code":"cpr_check( c( \"2310450637\", \"010190-2000\", \"010115-4000\", \"300450-1030\", \"010150-4021\", \"010150-4AA1\" ) ) #> OBS: as per 2007 not all valid CPR numbers apply to modulus 11 rule. #> #> See the vignette 'Toolbox' #> Warning in matrix(as.numeric(unlist(strsplit(cpr_short, \"\"))), nrow = 10): NAs #> introduced by coercion #> [1] TRUE FALSE FALSE FALSE FALSE NA"},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"cpr_dob","dir":"Articles","previous_headings":"A toolbox > CPR manipulations","what":"cpr_dob()","title":"Toolbox","text":"Extracts date birth (DOB) CPR number. Accounts decade birth. See earlier.","code":"cpr_dob(c( \"2310450637\", \"010190-2000\", \"010115-4000\", \"300450-1030\", \"010150-4021\" )) #> [1] \"23-10-1945\" \"01-01-1990\" \"01-01-2015\" \"30-04-1950\" \"01-01-1950\""},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"cpr_female","dir":"Articles","previous_headings":"A toolbox > CPR manipulations","what":"cpr_female()","title":"Toolbox","text":"Gives logical vector whether female gender last digit CPR.","code":"table(cpr_female(stRoke::cprs[, 1])) #> #> FALSE TRUE #> 98 102"},{"path":[]},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"ci_plot","dir":"Articles","previous_headings":"A toolbox > Plotting","what":"ci_plot()","title":"Toolbox","text":"Plots odds ratios 95 % confidence intervals. Performs binary logistic regression outcome factors two (2) levels ordinal logistic regression outcome factors two levels. Mind relevant assumptions. Outputs ggplot element manipulation.","code":"data(talos) talos[, \"mrs_1\"] <- factor(talos[, \"mrs_1\"], ordered = TRUE) ci_plot( ds = talos, x = \"rtreat\", y = \"mrs_1\", vars = c(\"hypertension\", \"diabetes\") ) #> Waiting for profiling to be done..."},{"path":"https://agdamsbo.github.io/stRoke/articles/toolbox.html","id":"generic_stroke","dir":"Articles","previous_headings":"A toolbox > Plotting","what":"generic_stroke()","title":"Toolbox","text":"learning purposes. Uses annonymized data TALOS trial output Table 1 (gtsummary::tbl_summary()), plotting -called grotta-bars based mRS scores (rankinPlot::grottaBar()) ordinal logistic regression model plot (stRoke::ci_plot()).","code":"generic_stroke(stRoke::talos, \"rtreat\", \"mrs_6\", variables = c(\"hypertension\", \"diabetes\", \"civil\")) #> Waiting for profiling to be done... #> $`Table 1` #>
#>