2024-02-27 11:56:38 +00:00
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --> < html lang = "en" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
< title > Database-creation • REDCapCAST< / title >
<!-- favicons --> < link rel = "icon" type = "image/png" sizes = "16x16" href = "../favicon-16x16.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "../favicon-32x32.png" >
< link rel = "apple-touch-icon" type = "image/png" sizes = "180x180" href = "../apple-touch-icon.png" >
< link rel = "apple-touch-icon" type = "image/png" sizes = "120x120" href = "../apple-touch-icon-120x120.png" >
< link rel = "apple-touch-icon" type = "image/png" sizes = "76x76" href = "../apple-touch-icon-76x76.png" >
< link rel = "apple-touch-icon" type = "image/png" sizes = "60x60" href = "../apple-touch-icon-60x60.png" >
< script src = "../deps/jquery-3.6.0/jquery-3.6.0.min.js" > < / script > < meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
< link href = "../deps/bootstrap-5.3.1/bootstrap.min.css" rel = "stylesheet" >
2024-11-18 07:28:35 +00:00
< script src = "../deps/bootstrap-5.3.1/bootstrap.bundle.min.js" > < / script > < link href = "../deps/font-awesome-6.5.2/css/all.min.css" rel = "stylesheet" >
< link href = "../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel = "stylesheet" >
2024-09-05 11:02:42 +00:00
< script src = "../deps/headroom-0.11.0/headroom.min.js" > < / script > < script src = "../deps/headroom-0.11.0/jQuery.headroom.min.js" > < / script > < script src = "../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js" > < / script > < script src = "../deps/clipboard.js-2.0.11/clipboard.min.js" > < / script > < script src = "../deps/search-1.0.0/autocomplete.jquery.min.js" > < / script > < script src = "../deps/search-1.0.0/fuse.min.js" > < / script > < script src = "../deps/search-1.0.0/mark.min.js" > < / script > <!-- pkgdown --> < script src = "../pkgdown.js" > < / script > < meta property = "og:title" content = "Database-creation" >
2024-02-27 11:56:38 +00:00
< / head >
< body >
< a href = "#main" class = "visually-hidden-focusable" > Skip to contents< / a >
2024-09-05 11:02:42 +00:00
< nav class = "navbar navbar-expand-lg fixed-top bg-light" data-bs-theme = "light" aria-label = "Site navigation" > < div class = "container" >
2024-02-27 11:56:38 +00:00
< a class = "navbar-brand me-2" href = "../index.html" > REDCapCAST< / a >
2024-12-02 07:13:32 +00:00
< small class = "nav-text text-muted me-auto" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" > 24.12.1< / small >
2024-09-05 11:02:42 +00:00
2024-02-27 11:56:38 +00:00
< button class = "navbar-toggler" type = "button" data-bs-toggle = "collapse" data-bs-target = "#navbar" aria-controls = "navbar" aria-expanded = "false" aria-label = "Toggle navigation" >
< span class = "navbar-toggler-icon" > < / span >
< / button >
< div id = "navbar" class = "collapse navbar-collapse ms-3" >
< ul class = "navbar-nav me-auto" >
2024-11-18 15:51:34 +00:00
< li class = "nav-item" > < a class = "nav-link" href = "../articles/REDCapCAST.html" > Get started< / a > < / li >
2024-09-05 11:02:42 +00:00
< li class = "nav-item" > < a class = "nav-link" href = "../reference/index.html" > Reference< / a > < / li >
2024-02-27 11:56:38 +00:00
< li class = "active nav-item dropdown" >
2024-09-05 11:02:42 +00:00
< button class = "nav-link dropdown-toggle" type = "button" id = "dropdown-articles" data-bs-toggle = "dropdown" aria-expanded = "false" aria-haspopup = "true" > Articles< / button >
< ul class = "dropdown-menu" aria-labelledby = "dropdown-articles" >
< li > < a class = "dropdown-item" href = "../articles/Database-creation.html" > Database-creation< / a > < / li >
< li > < a class = "dropdown-item" href = "../articles/Shiny-app.html" > Shiny-app< / a > < / li >
< / ul >
2024-02-27 11:56:38 +00:00
< / li >
2024-09-05 11:02:42 +00:00
< li class = "nav-item" > < a class = "nav-link" href = "../news/index.html" > Changelog< / a > < / li >
2024-02-27 11:56:38 +00:00
< / ul >
2024-09-05 11:02:42 +00:00
< ul class = "navbar-nav" >
< li class = "nav-item" > < form class = "form-inline" role = "search" >
< input class = "form-control" type = "search" name = "search-input" id = "search-input" autocomplete = "off" aria-label = "Search site" placeholder = "Search for" data-search-index = "../search.json" >
< / form > < / li >
< li class = "nav-item" > < a class = "external-link nav-link" href = "https://github.com/agdamsbo/REDCapCAST/" aria-label = "GitHub" > < span class = "fa fab fa-github fa-lg" > < / span > < / a > < / li >
2024-02-27 11:56:38 +00:00
< / ul >
< / div >
2024-09-05 11:02:42 +00:00
2024-02-27 11:56:38 +00:00
< / div >
< / nav > < div class = "container template-article" >
< div class = "row" >
< main id = "main" class = "col-md-9" > < div class = "page-header" >
< img src = "../logo.png" class = "logo" alt = "" > < h1 > Database-creation< / h1 >
2024-12-04 07:16:39 +00:00
< small class = "dont-index" > Source: < a href = "https://github.com/agdamsbo/REDCapCAST/blob/main/vignettes/Database-creation.Rmd" class = "external-link" > < code > vignettes/Database-creation.Rmd< / code > < / a > < / small >
2024-02-27 11:56:38 +00:00
< div class = "d-none name" > < code > Database-creation.Rmd< / code > < / div >
< / div >
< div class = "sourceCode" id = "cb1" > < pre class = "downlit sourceCode r" >
< code class = "sourceCode R" > < span > < span class = "kw" > < a href = "https://rdrr.io/r/base/library.html" class = "external-link" > library< / a > < / span > < span class = "op" > (< / span > < span class = "va" > < a href = "https://github.com/agdamsbo/REDCapCAST" class = "external-link" > REDCapCAST< / a > < / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< div class = "section level2" >
2024-06-07 08:46:09 +00:00
< h2 id = "two-different-ways-to-create-a-data-base" > Two different ways to create a data base< a class = "anchor" aria-label = "anchor" href = "#two-different-ways-to-create-a-data-base" > < / a >
2024-02-27 11:56:38 +00:00
< / h2 >
2024-06-07 08:46:09 +00:00
< p > < code > REDCapCAST< / code > provides two approaches to creating a data
dictionary aimed at helping out in two different cases:< / p >
< ol style = "list-style-type: decimal" >
< li > < p > Easily create a REDCap data base from an existing data
set.< / p > < / li >
< li > < p > Create a table in Word describing a variables in a data base and
use this to create a data base.< / p > < / li >
< / ol >
< p > In the following I will try to come with a few suggestions on how to
use these approaches.< / p >
< div class = "section level3" >
< h3 id = "easy-data-set-to-data-base-workflow" > Easy data set to data base workflow< a class = "anchor" aria-label = "anchor" href = "#easy-data-set-to-data-base-workflow" > < / a >
< / h3 >
< p > The first iteration of a dataset to data dictionary function is the
2024-02-27 11:56:38 +00:00
< code > < a href = "../reference/ds2dd.html" > ds2dd()< / a > < / code > , which creates a very basic data dictionary with
all variables stored as text. This is sufficient for just storing old
datasets/spreadsheets securely in REDCap.< / p >
< div class = "sourceCode" id = "cb2" > < pre class = "downlit sourceCode r" >
2024-06-07 08:46:09 +00:00
< code class = "sourceCode R" > < span > < span class = "va" > d1< / span > < span class = "op" > < -< / span > < span class = "va" > mtcars< / span > < span class = "op" > |> < / span > < / span >
2024-02-27 11:56:38 +00:00
< span > < span class = "fu" > dplyr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://dplyr.tidyverse.org/reference/mutate.html" class = "external-link" > mutate< / a > < / span > < span class = "op" > (< / span > record_id < span class = "op" > =< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/seq.html" class = "external-link" > seq_len< / a > < / span > < span class = "op" > (< / span > < span class = "fu" > dplyr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://dplyr.tidyverse.org/reference/context.html" class = "external-link" > n< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
2024-06-07 08:46:09 +00:00
< span > < span class = "fu" > < a href = "../reference/ds2dd.html" > ds2dd< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span >
< span > < / span >
< span > < span class = "va" > d1< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > gt< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://gt.rstudio.com/reference/gt.html" class = "external-link" > gt< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
2024-02-27 11:56:38 +00:00
< p > The more advanced < code > < a href = "../reference/ds2dd_detailed.html" > ds2dd_detailed()< / a > < / code > is a natural
development. It will try to apply the most common data classes for data
validation and will assume that the first column is the id number. It
outputs a list with the dataset with modified variable names to comply
with REDCap naming conventions and a data dictionary.< / p >
< p > The dataset should be correctly formatted for the data dictionary to
preserve as much information as possible.< / p >
< div class = "sourceCode" id = "cb3" > < pre class = "downlit sourceCode r" >
2024-06-07 08:46:09 +00:00
< code class = "sourceCode R" > < span > < span class = "va" > d2< / span > < span class = "op" > < -< / span > < span class = "fu" > REDCapCAST< / span > < span class = "fu" > ::< / span > < span class = "va" > < a href = "../reference/redcapcast_data.html" > redcapcast_data< / a > < / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > dplyr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://dplyr.tidyverse.org/reference/mutate.html" class = "external-link" > mutate< / a > < / span > < span class = "op" > (< / span > record_id < span class = "op" > =< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/seq.html" class = "external-link" > seq_len< / a > < / span > < span class = "op" > (< / span > < span class = "fu" > dplyr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://dplyr.tidyverse.org/reference/context.html" class = "external-link" > n< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > ,< / span >
< span > region< span class = "op" > =< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/factor.html" class = "external-link" > factor< / a > < / span > < span class = "op" > (< / span > < span class = "va" > region< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
2024-02-27 11:56:38 +00:00
< span > < span class = "fu" > dplyr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://dplyr.tidyverse.org/reference/select.html" class = "external-link" > select< / a > < / span > < span class = "op" > (< / span > < span class = "va" > record_id< / span > , < span class = "fu" > dplyr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://tidyselect.r-lib.org/reference/everything.html" class = "external-link" > everything< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
2024-06-07 08:46:09 +00:00
< span > < span class = "op" > (< / span > \< span class = "op" > (< / span > < span class = "va" > .x< / span > < span class = "op" > )< / span > < span class = "op" > {< / span > < / span >
< span > < span class = "va" > .x< / span > < span class = "op" > [< / span > < span class = "op" > !< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/grep.html" class = "external-link" > grepl< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "_complete$"< / span > ,< span class = "fu" > < a href = "https://rdrr.io/r/base/names.html" class = "external-link" > names< / a > < / span > < span class = "op" > (< / span > < span class = "va" > .x< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < span class = "op" > ]< / span > < / span >
< span > < span class = "op" > }< / span > < span class = "op" > )< / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "op" > (< / span > \< span class = "op" > (< / span > < span class = "va" > .x< / span > < span class = "op" > )< / span > < span class = "op" > {< / span > < / span >
< span > < span class = "va" > .x< / span > < span class = "op" > [< / span > < span class = "op" > !< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/grep.html" class = "external-link" > grepl< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "^redcap"< / span > ,< span class = "fu" > < a href = "https://rdrr.io/r/base/names.html" class = "external-link" > names< / a > < / span > < span class = "op" > (< / span > < span class = "va" > .x< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < span class = "op" > ]< / span > < / span >
< span > < span class = "op" > }< / span > < span class = "op" > )< / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > < a href = "../reference/ds2dd_detailed.html" > ds2dd_detailed< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > purrr< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://purrr.tidyverse.org/reference/pluck.html" class = "external-link" > pluck< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "meta"< / span > < span class = "op" > )< / span > < / span >
< span > < / span >
< span > < span class = "va" > d2< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > gt< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://gt.rstudio.com/reference/gt.html" class = "external-link" > gt< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
2024-02-27 11:56:38 +00:00
< p > Additional specifications to the DataDictionary can be made manually,
or it can be uploaded and modified manually in the graphical user
2024-06-07 08:46:09 +00:00
interface on the REDCap server.< / p >
< / div >
< div class = "section level3" >
< h3 id = "data-base-from-table" > Data base from table< a class = "anchor" aria-label = "anchor" href = "#data-base-from-table" > < / a >
< / h3 >
2024-06-07 09:18:47 +00:00
< p > …instructions and examples are coming…< / p >
2024-06-07 08:46:09 +00:00
< / div >
2024-02-27 11:56:38 +00:00
< div class = "section level3" >
2024-06-07 08:46:09 +00:00
< h3 id = "meta-data-and-data-upload" > Meta data and data upload< a class = "anchor" aria-label = "anchor" href = "#meta-data-and-data-upload" > < / a >
2024-02-27 11:56:38 +00:00
< / h3 >
< p > Now the DataDictionary can be exported as a spreadsheet and uploaded
or it can be uploaded using the < code > REDCapR< / code > package (only
projects with “Development” status).< / p >
< p > Use one of the two approaches below:< / p >
< div class = "section level4" >
< h4 id = "manual-upload" > Manual upload< a class = "anchor" aria-label = "anchor" href = "#manual-upload" > < / a >
< / h4 >
< div class = "sourceCode" id = "cb4" > < pre class = "downlit sourceCode r" >
< code class = "sourceCode R" > < span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/write.table.html" class = "external-link" > write.csv< / a > < / span > < span class = "op" > (< / span > < span class = "va" > dd_ls< / span > < span class = "op" > $< / span > < span class = "va" > meta< / span > , < span class = "st" > "datadictionary.csv"< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< / div >
< div class = "section level4" >
< h4 id = "upload-with-redcapr" > Upload with < code > REDCapR< / code > < a class = "anchor" aria-label = "anchor" href = "#upload-with-redcapr" > < / a >
< / h4 >
< div class = "sourceCode" id = "cb5" > < pre class = "downlit sourceCode r" >
< code class = "sourceCode R" > < span > < span class = "fu" > REDCapR< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://ouhscbbmc.github.io/REDCapR/reference/redcap_metadata_write.html" class = "external-link" > redcap_metadata_write< / a > < / span > < span class = "op" > (< / span > < / span >
< span > < span class = "va" > dd_ls< / span > < span class = "op" > $< / span > < span class = "va" > meta< / span > ,< / span >
< span > redcap_uri < span class = "op" > =< / span > < span class = "fu" > keyring< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://keyring.r-lib.org/reference/key_get.html" class = "external-link" > key_get< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "DB_URI"< / span > < span class = "op" > )< / span > ,< / span >
< span > token < span class = "op" > =< / span > < span class = "fu" > keyring< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://keyring.r-lib.org/reference/key_get.html" class = "external-link" > key_get< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "DB_TOKEN"< / span > < span class = "op" > )< / span > < / span >
< span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< p > In the < a href = "https://agdamsbo.github.io/redcap-r-handbook/" class = "external-link" > “REDCap R
Handbook”< / a > more is written on interfacing with REDCap in R using the
2024-02-28 06:53:30 +00:00
< code > < a href = "https://keyring.r-lib.org/" class = "external-link" > library(keyring)< / a > < / code > to store credentials in < a href = "https://agdamsbo.github.io/redcap-r-handbook/doc/access.html#sec-getting-access" class = "external-link" > chapter
2024-02-27 11:56:38 +00:00
1.1< / a > .< / p >
< / div >
< / div >
< div class = "section level3" >
< h3 id = "step-4---data-upload" > Step 4 - Data upload< a class = "anchor" aria-label = "anchor" href = "#step-4---data-upload" > < / a >
< / h3 >
< p > The same two options are available for data upload as meta data
upload: manual or through < code > REDCapR< / code > .< / p >
< p > Only the latter is shown here.< / p >
< div class = "sourceCode" id = "cb6" > < pre class = "downlit sourceCode r" >
< code class = "sourceCode R" > < span > < span class = "fu" > REDCapR< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://ouhscbbmc.github.io/REDCapR/reference/redcap_write.html" class = "external-link" > redcap_write< / a > < / span > < span class = "op" > (< / span > < / span >
< span > < span class = "va" > dd_ls< / span > < span class = "op" > $< / span > < span class = "va" > data< / span > ,< / span >
< span > redcap_uri < span class = "op" > =< / span > < span class = "fu" > keyring< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://keyring.r-lib.org/reference/key_get.html" class = "external-link" > key_get< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "DB_URI"< / span > < span class = "op" > )< / span > ,< / span >
< span > token < span class = "op" > =< / span > < span class = "fu" > keyring< / span > < span class = "fu" > ::< / span > < span class = "fu" > < a href = "https://keyring.r-lib.org/reference/key_get.html" class = "external-link" > key_get< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "DB_TOKEN"< / span > < span class = "op" > )< / span > < / span >
< span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< / div >
< / div >
2024-09-05 11:02:42 +00:00
< / main > < aside class = "col-md-3" > < nav id = "toc" aria-label = "Table of contents" > < h2 > On this page< / h2 >
2024-02-27 11:56:38 +00:00
< / nav > < / aside >
< / div >
< footer > < div class = "pkgdown-footer-left" >
2024-05-23 09:55:51 +00:00
< p > Developed by Andreas Gammelgaard Damsbo, Paul Egeler.< / p >
2024-02-27 11:56:38 +00:00
< / div >
< div class = "pkgdown-footer-right" >
2024-10-02 08:15:20 +00:00
< p > Site built with < a href = "https://pkgdown.r-lib.org/" class = "external-link" > pkgdown< / a > 2.1.1.< / p >
2024-02-27 11:56:38 +00:00
< / div >
< / footer >
< / div >
2024-09-05 11:02:42 +00:00
2024-02-27 11:56:38 +00:00
< / body >
< / html >