2023-06-30 10:56:53 +02:00
<!DOCTYPE html>
2024-11-18 08:28:35 +01:00
<!-- 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 > Split REDCap repeating instruments table into multiple tables — REDCap_split • 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 > < 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" > < 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 = "Split REDCap repeating instruments table into multiple tables — REDCap_split" > < meta name = "description" content = "This will take output from a REDCap export and split it into a base table
2023-06-30 10:56:53 +02:00
and child tables for each repeating instrument. Metadata
2024-09-05 13:02:42 +02:00
is used to determine which fields should be included in each resultant table.">< meta property = "og:description" content = "This will take output from a REDCap export and split it into a base table
2023-06-30 10:56:53 +02:00
and child tables for each repeating instrument. Metadata
2024-09-05 13:02:42 +02:00
is used to determine which fields should be included in each resultant table.">< meta property = "og:image" content = "https://agdamsbo.github.io/REDCapCAST/logo.png" > < / head > < body >
2023-06-30 10:56:53 +02:00
< a href = "#main" class = "visually-hidden-focusable" > Skip to contents< / a >
2024-09-05 13:02:42 +02:00
< nav class = "navbar navbar-expand-lg fixed-top bg-light" data-bs-theme = "light" aria-label = "Site navigation" > < div class = "container" >
2023-06-30 10:56:53 +02:00
< a class = "navbar-brand me-2" href = "../index.html" > REDCapCAST< / a >
2024-11-18 08:28:35 +01:00
< small class = "nav-text text-muted me-auto" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" > 24.11.2< / small >
2024-09-05 13:02:42 +02:00
2023-06-30 10:56:53 +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" >
2024-09-05 13:02:42 +02:00
< ul class = "navbar-nav me-auto" > < li class = "active nav-item" > < a class = "nav-link" href = "../reference/index.html" > Reference< / a > < / li >
2023-06-30 10:56:53 +02:00
< li class = "nav-item dropdown" >
2024-09-05 13:02:42 +02: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/Introduction.html" > Introduction< / a > < / li >
< li > < a class = "dropdown-item" href = "../articles/Shiny-app.html" > Shiny-app< / a > < / li >
< / ul > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "../news/index.html" > Changelog< / a > < / li >
< / ul > < 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 >
2023-06-30 10:56:53 +02:00
< / ul > < / div >
2024-09-05 13:02:42 +02:00
2023-06-30 10:56:53 +02:00
< / div >
< / nav > < div class = "container template-reference-topic" >
< div class = "row" >
< main id = "main" class = "col-md-9" > < div class = "page-header" >
< img src = "../logo.png" class = "logo" alt = "" > < h1 > Split REDCap repeating instruments table into multiple tables< / h1 >
2024-10-24 11:59:46 +02:00
< small class = "dont-index" > Source: < a href = "https://github.com/agdamsbo/REDCapCAST/blob/main/R/REDCap_split.r" class = "external-link" > < code > R/REDCap_split.r< / code > < / a > < / small >
2023-06-30 10:56:53 +02:00
< div class = "d-none name" > < code > REDCap_split.Rd< / code > < / div >
< / div >
< div class = "ref-description section level2" >
< p > This will take output from a REDCap export and split it into a base table
and child tables for each repeating instrument. Metadata
is used to determine which fields should be included in each resultant table.< / p >
< / div >
< div class = "section level2" >
< h2 id = "ref-usage" > Usage< a class = "anchor" aria-label = "anchor" href = "#ref-usage" > < / a > < / h2 >
< div class = "sourceCode" > < pre class = "sourceCode r" > < code > < span > < span class = "fu" > REDCap_split< / span > < span class = "op" > (< / span > < / span >
< span > < span class = "va" > records< / span > ,< / span >
< span > < span class = "va" > metadata< / span > ,< / span >
< span > primary_table_name < span class = "op" > =< / span > < span class = "st" > ""< / span > ,< / span >
< span > forms < span class = "op" > =< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/c.html" class = "external-link" > c< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "repeating"< / span > , < span class = "st" > "all"< / span > < span class = "op" > )< / span > < / span >
< span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< / div >
< div class = "section level2" >
< h2 id = "arguments" > Arguments< a class = "anchor" aria-label = "anchor" href = "#arguments" > < / a > < / h2 >
2024-09-05 13:02:42 +02:00
< dl > < dt id = "arg-records" > records< a class = "anchor" aria-label = "anchor" href = "#arg-records" > < / a > < / dt >
2023-06-30 10:56:53 +02:00
< dd > < p > Exported project records. May be a < code > data.frame< / code > ,
< code > response< / code > , or < code > character< / code > vector containing JSON from an API
call.< / p > < / dd >
2024-09-05 13:02:42 +02:00
< dt id = "arg-metadata" > metadata< a class = "anchor" aria-label = "anchor" href = "#arg-metadata" > < / a > < / dt >
2023-06-30 10:56:53 +02:00
< dd > < p > Project metadata (the data dictionary). May be a
< code > data.frame< / code > , < code > response< / code > , or < code > character< / code > vector containing
JSON from an API call.< / p > < / dd >
2024-09-05 13:02:42 +02:00
< dt id = "arg-primary-table-name" > primary_table_name< a class = "anchor" aria-label = "anchor" href = "#arg-primary-table-name" > < / a > < / dt >
2023-06-30 10:56:53 +02:00
< dd > < p > Name given to the list element for the primary
output table (as described in < em > README.md< / em > ). Ignored if
< code > forms = 'all'< / code > .< / p > < / dd >
2024-09-05 13:02:42 +02:00
< dt id = "arg-forms" > forms< a class = "anchor" aria-label = "anchor" href = "#arg-forms" > < / a > < / dt >
2023-06-30 10:56:53 +02:00
< dd > < p > Indicate whether to create separate tables for repeating
instruments only or for all forms.< / p > < / dd >
< / dl > < / div >
< div class = "section level2" >
< h2 id = "value" > Value< a class = "anchor" aria-label = "anchor" href = "#value" > < / a > < / h2 >
2024-09-05 13:02:42 +02:00
< p > A list of < code > "data.frame"< / code > s. The number of tables will differ
depending on the < code > forms< / code > option selected.< / p > < ul > < li > < p > < code > 'repeating'< / code > : one base table and one or more
2023-06-30 10:56:53 +02:00
tables for each repeating instrument.< / p > < / li >
< li > < p > < code > 'all'< / code > : a data.frame for each instrument, regardless of
whether it is a repeating instrument or not.< / p > < / li >
< / ul > < / div >
< div class = "section level2" >
< h2 id = "author" > Author< a class = "anchor" aria-label = "anchor" href = "#author" > < / a > < / h2 >
< p > Paul W. Egeler, M.S., GStat< / p >
< / div >
< div class = "section level2" >
< h2 id = "ref-examples" > Examples< a class = "anchor" aria-label = "anchor" href = "#ref-examples" > < / a > < / h2 >
2024-09-05 13:02:42 +02:00
< div class = "sourceCode" > < pre class = "sourceCode r" > < code > < span class = "r-in" > < span > < span class = "kw" > if< / span > < span class = "op" > (< / span > < span class = "cn" > FALSE< / span > < span class = "op" > )< / span > < span class = "op" > {< / span > < span class = "co" > # \dontrun{< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< span class = "r-in" > < span > < span class = "co" > # Using an API call -------------------------------------------------------< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < 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" > RCurl< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Get the records< / span > < / span > < / span >
2023-12-20 16:10:32 +01:00
< span class = "r-in" > < span > < span class = "va" > records< / span > < span class = "op" > < -< / span > < span class = "fu" > postForm< / span > < span class = "op" > (< / span > < / span > < / span >
2024-02-27 13:31:38 +01:00
< span class = "r-in" > < span > uri < span class = "op" > =< / span > < span class = "va" > api_url< / span > , < span class = "co" > # Supply your site-specific URI< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< span class = "r-in" > < span > token < span class = "op" > =< / span > < span class = "va" > api_token< / span > , < span class = "co" > # Supply your own API token< / span > < / span > < / span >
2024-02-27 13:31:38 +01:00
< span class = "r-in" > < span > content < span class = "op" > =< / span > < span class = "st" > "record"< / span > ,< / span > < / span >
< span class = "r-in" > < span > format < span class = "op" > =< / span > < span class = "st" > "json"< / span > ,< / span > < / span >
< span class = "r-in" > < span > returnFormat < span class = "op" > =< / span > < span class = "st" > "json"< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< span class = "r-in" > < span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Get the metadata< / span > < / span > < / span >
2023-12-20 16:10:32 +01:00
< span class = "r-in" > < span > < span class = "va" > metadata< / span > < span class = "op" > < -< / span > < span class = "fu" > postForm< / span > < span class = "op" > (< / span > < / span > < / span >
2024-02-27 13:31:38 +01:00
< span class = "r-in" > < span > uri < span class = "op" > =< / span > < span class = "va" > api_url< / span > , < span class = "co" > # Supply your site-specific URI< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< span class = "r-in" > < span > token < span class = "op" > =< / span > < span class = "va" > api_token< / span > , < span class = "co" > # Supply your own API token< / span > < / span > < / span >
2024-02-27 13:31:38 +01:00
< span class = "r-in" > < span > content < span class = "op" > =< / span > < span class = "st" > "metadata"< / span > ,< / span > < / span >
< span class = "r-in" > < span > format < span class = "op" > =< / span > < span class = "st" > "json"< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< span class = "r-in" > < span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Convert exported JSON strings into a list of data.frames< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "fu" > REDCapRITS< / span > < span class = "fu" > ::< / span > < span class = "fu" > REDCap_split< / span > < span class = "op" > (< / span > < span class = "va" > records< / span > , < span class = "va" > metadata< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Using a raw data export -------------------------------------------------< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Get the records< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "va" > records< / span > < span class = "op" > < -< / span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/read.table.html" class = "external-link" > read.csv< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "/path/to/data/ExampleProject_DATA_2018-06-03_1700.csv"< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Get the metadata< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "va" > metadata< / span > < span class = "op" > < -< / span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/read.table.html" class = "external-link" > read.csv< / a > < / span > < span class = "op" > (< / span > < / span > < / span >
2024-02-27 13:31:38 +01:00
< span class = "r-in" > < span > < span class = "st" > "/path/to/data/ExampleProject_DataDictionary_2018-06-03.csv"< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "op" > )< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Split the tables< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "fu" > REDCapRITS< / span > < span class = "fu" > ::< / span > < span class = "fu" > REDCap_split< / span > < span class = "op" > (< / span > < span class = "va" > records< / span > , < span class = "va" > metadata< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # In conjunction with the R export script ---------------------------------< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # You must set the working directory first since the REDCap data export< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # script contains relative file references.< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "va" > old< / span > < span class = "op" > < -< / span > < span class = "fu" > < a href = "https://rdrr.io/r/base/getwd.html" class = "external-link" > getwd< / a > < / span > < span class = "op" > (< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "fu" > < a href = "https://rdrr.io/r/base/getwd.html" class = "external-link" > setwd< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "/path/to/data/"< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Run the data export script supplied by REDCap.< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # This will create a data.frame of your records called 'data'< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "kw" > < a href = "https://rdrr.io/r/base/source.html" class = "external-link" > source< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "ExampleProject_R_2018-06-03_1700.r"< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Get the metadatan< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "va" > metadata< / span > < span class = "op" > < -< / span > < span class = "fu" > < a href = "https://rdrr.io/r/utils/read.table.html" class = "external-link" > read.csv< / a > < / span > < span class = "op" > (< / span > < span class = "st" > "ExampleProject_DataDictionary_2018-06-03.csv"< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < / span > < / span >
< span class = "r-in" > < span > < span class = "co" > # Split the tables< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "fu" > REDCapRITS< / span > < span class = "fu" > ::< / span > < span class = "fu" > REDCap_split< / span > < span class = "op" > (< / span > < span class = "va" > data< / span > , < span class = "va" > metadata< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-in" > < span > < span class = "fu" > < a href = "https://rdrr.io/r/base/getwd.html" class = "external-link" > setwd< / a > < / span > < span class = "op" > (< / span > < span class = "va" > old< / span > < span class = "op" > )< / span > < / span > < / span >
2024-09-05 13:02:42 +02:00
< span class = "r-in" > < span > < span class = "op" > }< / span > < span class = "co" > # }< / span > < / span > < / span >
2023-06-30 10:56:53 +02:00
< / code > < / pre > < / div >
< / div >
2024-09-05 13:02:42 +02:00
< / main > < aside class = "col-md-3" > < nav id = "toc" aria-label = "Table of contents" > < h2 > On this page< / h2 >
2023-06-30 10:56:53 +02:00
< / nav > < / aside > < / div >
< footer > < div class = "pkgdown-footer-left" >
2024-05-23 11:55:51 +02:00
< p > Developed by Andreas Gammelgaard Damsbo, Paul Egeler.< / p >
2023-06-30 10:56:53 +02:00
< / div >
< div class = "pkgdown-footer-right" >
2024-10-02 10:15:20 +02:00
< p > Site built with < a href = "https://pkgdown.r-lib.org/" class = "external-link" > pkgdown< / a > 2.1.1.< / p >
2023-06-30 10:56:53 +02:00
< / div >
< / footer > < / div >
2024-09-05 13:02:42 +02:00
2023-06-30 10:56:53 +02:00
< / body > < / html >