2024-02-27 12:56:38 +01: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" >
< meta name = "description" content = "REDCapCAST" >
< 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" >
< script src = "../deps/bootstrap-5.3.1/bootstrap.bundle.min.js" > < / script > <!-- Font Awesome icons --> < link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity = "sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin = "anonymous" >
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity = "sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin = "anonymous" >
<!-- bootstrap - toc --> < script src = "https://cdn.jsdelivr.net/gh/afeld/bootstrap-toc@v1.0.1/dist/bootstrap-toc.min.js" integrity = "sha256-4veVQbu7//Lk5TSmc7YV48MxtMy98e26cf5MrgZYnwo=" crossorigin = "anonymous" > < / script > <!-- headroom.js --> < script src = "https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity = "sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin = "anonymous" > < / script > < script src = "https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity = "sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin = "anonymous" > < / script > <!-- clipboard.js --> < script src = "https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity = "sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin = "anonymous" > < / script > <!-- search --> < script src = "https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity = "sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin = "anonymous" > < / script > < script src = "https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity = "sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin = "anonymous" > < / script > < script src = "https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity = "sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin = "anonymous" > < / script > <!-- pkgdown --> < script src = "../pkgdown.js" > < / script > < meta property = "og:title" content = "Database-creation" >
< meta property = "og:description" content = "REDCapCAST" >
< meta property = "og:image" content = "https://agdamsbo.github.io/REDCapCAST/logo.png" >
<!-- mathjax --> < script src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity = "sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin = "anonymous" > < / script > < script src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity = "sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin = "anonymous" > < / script > <!-- [if lt IE 9]>
< script src = "https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js" > < / script >
< script src = "https://oss.maxcdn.com/respond/1.4.2/respond.min.js" > < / script >
<![endif]-->
< / head >
< body >
< a href = "#main" class = "visually-hidden-focusable" > Skip to contents< / a >
< nav class = "navbar fixed-top navbar-light navbar-expand-lg bg-light" > < div class = "container" >
< a class = "navbar-brand me-2" href = "../index.html" > REDCapCAST< / a >
2024-03-14 09:39:58 +01:00
< small class = "nav-text text-muted me-auto" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" > 24.3.1< / small >
2024-02-27 12:56:38 +01: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" >
< li class = "nav-item" >
< a class = "nav-link" href = "../reference/index.html" > Reference< / a >
< / li >
< li class = "active nav-item dropdown" >
< a href = "#" class = "nav-link dropdown-toggle" data-bs-toggle = "dropdown" role = "button" aria-expanded = "false" aria-haspopup = "true" id = "dropdown-articles" > Articles< / a >
< div class = "dropdown-menu" aria-labelledby = "dropdown-articles" >
< a class = "dropdown-item" href = "../articles/Database-creation.html" > Database-creation< / a >
< a class = "dropdown-item" href = "../articles/Introduction.html" > Introduction< / a >
< a class = "dropdown-item" href = "../articles/Shiny-app.html" > Shiny-app< / a >
< / div >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "../news/index.html" > Changelog< / a >
< / li >
< / ul >
< form class = "form-inline my-2 my-lg-0" role = "search" >
< input type = "search" class = "form-control me-sm-2" aria-label = "Toggle navigation" name = "search-input" data-search-index = "../search.json" id = "search-input" placeholder = "Search for" autocomplete = "off" >
< / form >
< ul class = "navbar-nav" >
< li class = "nav-item" >
< a class = "external-link nav-link" href = "https://github.com/agdamsbo/REDCapCAST/" aria-label = "github" >
< span class = "fab fa fab fa-github fa-lg" > < / span >
< / a >
< / li >
< / ul >
< / div >
< / 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 >
< small class = "dont-index" > Source: < a href = "https://github.com/agdamsbo/REDCapCAST/blob/HEAD/vignettes/Database-creation.Rmd" class = "external-link" > < code > vignettes/Database-creation.Rmd< / code > < / a > < / small >
< 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" >
< h2 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 >
< / h2 >
< p > THe first iteration of a dataset to data dictionary function is the
< 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" >
< code class = "sourceCode R" > < span > < span class = "va" > mtcars< / 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 class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
2024-02-27 13:31:38 +01:00
< span > < span class = "fu" > < a href = "../reference/ds2dd.html" > ds2dd< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/str.html" class = "external-link" > str< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
2024-02-27 12:56:38 +01: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" >
< code class = "sourceCode R" > < span > < span class = "va" > dd_ls< / span > < span class = "op" > < -< / span > < span class = "va" > mtcars< / 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 class = "op" > )< / 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/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 >
< span > < span class = "fu" > < a href = "../reference/ds2dd_detailed.html" > ds2dd_detailed< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span >
2024-02-27 13:31:38 +01:00
< span > < span class = "va" > dd_ls< / span > < span class = "op" > |> < / span > < / span >
< span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/str.html" class = "external-link" > str< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
2024-02-27 12:56:38 +01:00
< p > Additional specifications to the DataDictionary can be made manually,
or it can be uploaded and modified manually in the graphical user
interface on the web page.< / p >
< div class = "section level3" >
< h3 id = "step-3---meta-data-upload" > Step 3 - Meta data upload< a class = "anchor" aria-label = "anchor" href = "#step-3---meta-data-upload" > < / a >
< / 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 07:53:30 +01: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 12:56:38 +01: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 >
< / main > < aside class = "col-md-3" > < nav id = "toc" > < h2 > On this page< / h2 >
< / nav > < / aside >
< / div >
< footer > < div class = "pkgdown-footer-left" >
< p > < / p >
< p > Developed by Andreas Gammelgaard Damsbo, Paul Egeler.< / p >
< / div >
< div class = "pkgdown-footer-right" >
< p > < / p >
< p > Site built with < a href = "https://pkgdown.r-lib.org/" class = "external-link" > pkgdown< / a > 2.0.7.< / p >
< / div >
< / footer >
< / div >
< / body >
< / html >