2023-06-30 10:04:32 +02: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 = "stRoke" >
< title > ds2dd • stRoke< / 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.2.2/bootstrap.min.css" rel = "stylesheet" >
< script src = "../deps/bootstrap-5.2.2/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 = "ds2dd" >
< meta property = "og:description" content = "stRoke" >
< meta property = "og:image" content = "https://agdamsbo.github.io/stRoke/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" > stRoke< / a >
2023-06-30 11:54:03 +02:00
< small class = "nav-text text-muted me-auto" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" > 23.6.2< / small >
2023-06-30 10:04:32 +02: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/ds2dd.html" > ds2dd< / a >
< a class = "dropdown-item" href = "../articles/toolbox.html" > Toolbox< / 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/stRoke/" 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 > ds2dd< / h1 >
< h4 data-toc-skip class = "date" > 2023-06-30< / h4 >
< small class = "dont-index" > Source: < a href = "https://github.com/agdamsbo/stRoke/blob/HEAD/vignettes/ds2dd.Rmd" class = "external-link" > < code > vignettes/ds2dd.Rmd< / code > < / a > < / small >
< div class = "d-none name" > < code > ds2dd.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://agdamsbo.github.io/stRoke/" > stRoke< / 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 > This function can be used as a simple tool for creating at data base
metadata file for REDCap (called a DataDictionary) based on a given data
set file.< / p >
< div class = "section level3" >
< h3 id = "step-1---load-your-data-set" > Step 1 - Load your data set< a class = "anchor" aria-label = "anchor" href = "#step-1---load-your-data-set" > < / a >
< / h3 >
< p > Here we’ ll use the sample TALOS dataset included with the
package.< / p >
< div class = "sourceCode" id = "cb2" > < pre class = "downlit sourceCode r" >
< code class = "sourceCode R" > < span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/data.html" class = "external-link" > data< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "talos"< / span > < span class = "op" > )< / span > < / span >
< span > < span class = "va" > ds< / span > < span class = "op" > < -< / span > < span class = "va" > talos< / span > < / span >
< span > < span class = "co" > # As the data set lacks an ID column, one is added< / span > < / span >
< span > < span class = "va" > ds< / span > < span class = "op" > $< / span > < span class = "va" > id< / span > < 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" > < a href = "https://rdrr.io/r/base/nrow.html" class = "external-link" > nrow< / a > < / span > < span class = "op" > (< / span > < span class = "va" > ds< / span > < span class = "op" > )< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< / div >
< div class = "section level3" >
< h3 id = "step-2---create-the-datadictionary" > Step 2 - Create the DataDictionary< a class = "anchor" aria-label = "anchor" href = "#step-2---create-the-datadictionary" > < / a >
< / h3 >
< div class = "sourceCode" id = "cb3" > < pre class = "downlit sourceCode r" >
< code class = "sourceCode R" > < span > < span class = "va" > datadictionary< / span > < span class = "op" > < -< / span > < span class = "fu" > < a href = "../reference/ds2dd.html" > ds2dd< / a > < / span > < span class = "op" > (< / span > < span class = "va" > ds< / span > ,record.id < span class = "op" > =< / span > < span class = "st" > "id"< / span > ,include.column.names < span class = "op" > =< / span > < span class = "cn" > TRUE< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< p > Now 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 >
< p > The function will transform column names to lower case and substitute
spaces for underscores. The output is a list with the DataDictionary and
a vector of new column names for the dataset to fit the meta data.< / p >
< / div >
< 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" > datadictionary< / span > < span class = "op" > $< / span > < span class = "va" > DataDictionary< / 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" > redcap_metadata_write< / span > < span class = "op" > (< / span > < / span >
< span > < span class = "va" > datadictionary< / span > < span class = "op" > $< / span > < span class = "va" > DataDictionary< / span > ,< / span >
< span > redcap_uri < span class = "op" > =< / span > < span class = "fu" > keyring< / span > < span class = "fu" > ::< / span > < span class = "fu" > key_get< / 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" > key_get< / 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
< code > < a href = "https://r-lib.github.io/keyring/index.html" class = "external-link" > library(keyring)< / a > < / code > to store credentials in < a href = "https://agdamsbo.github.io/redcap-r-handbook/access.html#sec-getting-access" class = "external-link" > chapter
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 = "co" > # new column names are applied< / span > < / span >
< span > < span class = "fu" > < a href = "https://rdrr.io/r/base/colnames.html" class = "external-link" > colnames< / a > < / span > < span class = "op" > (< / span > < span class = "va" > ds< / span > < span class = "op" > )< / span > < span class = "op" > < -< / span > < span class = "va" > datadictionary< / span > < span class = "op" > $< / span > < span class = "va" > `Column names`< / span > < / span >
< span > < / span >
< span > < span class = "fu" > REDCapR< / span > < span class = "fu" > ::< / span > < span class = "fu" > redcap_write< / span > < span class = "op" > (< / span > < / span >
< span > < span class = "va" > ds< / span > ,< / span >
< span > redcap_uri < span class = "op" > =< / span > < span class = "fu" > keyring< / span > < span class = "fu" > ::< / span > < span class = "fu" > key_get< / 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" > key_get< / 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.< / 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 >