Skip to content

REDCapExporter

Automated Construction of R Data Packages from REDCap Projects

v0.3.4 · Mar 9, 2026 · GPL-2

Description

Export all data, including metadata, from a REDCap (Research Electronic Data Capture) Project via the REDCap API <https://projectredcap.org/wp-content/resources/REDCapTechnicalOverview.pdf>. The exported (meta)data will be processed and formatted into a stand alone R data package which can be installed and shared between researchers. Several default reports are generated as vignettes in the resulting package.

Downloads

331

Last 30 days

9481st

331

Last 90 days

331

Last year

CRAN Check Status

2 ERROR
12 OK
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang OK
r-devel-linux-x86_64-debian-gcc ERROR
r-devel-linux-x86_64-fedora-clang OK
r-devel-linux-x86_64-fedora-gcc OK
r-devel-macos-arm64 OK
r-devel-windows-x86_64 OK
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 OK
r-patched-linux-x86_64 OK
r-release-linux-x86_64 ERROR
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 OK
Check details (14 non-OK)
OK r-devel-linux-x86_64-debian-clang

*


            
ERROR r-devel-linux-x86_64-debian-gcc

tests

  Running ‘test-as.data.frame.R’ [1s/1s]
  Running ‘test-build_r_pkg.R’ [2s/2s]
  Running ‘test-export.R’ [0s/0s]
  Running ‘test-format_record.R’ [1s/1s]
  Running ‘test-keyring.R’ [0s/1s]
Running the tests in ‘tests/test-build_r_pkg.R’ failed.
Complete output:
  > library(REDCapExporter)
  > temppath <- tempdir()
  > build_r_data_package(
  +   x            = avs_raw_core,
  +   path         = temppath,
  +   author_roles = list(dewittp = c("cre", "aut")),
  + )
  Creating source package at /tmp/Rtmpr8m5fn/rcd14465
  ℹ Updating rcd14465 documentation
  First time using roxygen2. Upgrading automatically...
  ℹ Setting RoxygenNote to "7.3.3"
  ℹ Loading rcd14465
  Writing 'NAMESPACE'
  Writing 'project.Rd'
  Writing 'metadata.Rd'
  Writing 'user.Rd'
  Writing 'record.Rd'
  > 
  > x <- fs::dir_tree(temppath)
  /tmp/Rtmpr8m5fn
  └── rcd14465
      ├── DESCRIPTION
      ├── LICENSE
      ├── NAMESPACE
      ├── R
      │   └── datasets.R
      ├── data
      │   ├── metadata.rda
      │   ├── project.rda
      │   ├── record.rda
      │   └── user.rda
      ├── inst
      │   └── raw-data
      │       ├── metadata.rds
      │       ├── project.rds
      │       ├── record.rds
      │       └── user.rds
      └── man
          ├── metadata.Rd
          ├── project.Rd
          ├── record.Rd
          └── user.Rd
  > x <- unname(sapply(strsplit(x, "rcd14465"), `[`, 2))
  > x[is.na(x)] <- ""
  > x <- sort(paste0("rcd14465", x))
  > 
  > print(x)
   [1] "rcd14465"                            "rcd14465"                           
   [3] "rcd14465"                            "rcd14465/DESCRIPTION"               
   [5] "rcd14465/LICENSE"                    "rcd14465/NAMESPACE"                 
   [7] "rcd14465/R"                          "rcd14465/R/datasets.R"              
   [9] "rcd14465/data"                       "rcd14465/data/metadata.rda"         
  [11] "rcd14465/data/project.rda"           "rcd14465/data/record.rda"           
  [13] "rcd14465/data/user.rda"              "rcd14465/inst"                      
  [15] "rcd14465/inst/raw-data"              "rcd14465/inst/raw-data/metadata.rds"
  [17] "rcd14465/inst/raw-data/project.rds"  "rcd14465/inst/raw-data/record.rds"  
  [19] "rcd14465/inst/raw-data/user.rds"     "rcd14465/man"                       
  [21] "rcd14465/man/metadata.Rd"            "rcd14465/man/project.Rd"            
  [23] "rcd14465/man/record.Rd"              "rcd14465/man/user.Rd"               
  > 
  > stopifnot(
  +   identical(
  +     x,
  +     sort(
  +       c("rcd14465", "rcd14465/DESCRIPTION", "rcd14465/LICENSE", "rcd14465/NAMESPACE",
  +       "rcd14465/R", "rcd14465/R/datasets.R", "rcd14465/data", "rcd14465/data/metadata.rda",
  +       "rcd14465/data/project.rda", "rcd14465/data/record.rda", "rcd14465/data/user.rda",
  +       "rcd14465/inst", "rcd14465/inst/raw-data", "rcd14465/inst/raw-data/metadata.rds",
  +       "rcd14465/inst/raw-data/project.rds", "rcd14465/inst/raw-data/record.rds",
  +       "rcd14465/inst/raw-data/user.rds", "rcd14465/man", "rcd14465/man/metadata.Rd",
  +       "rcd14465/man/project.Rd", "rcd14465/man/record.Rd", "rcd14465/man/user.Rd")
  +     )
  +   )
  + )
  Error: identical(x, sort(c("rcd14465", "rcd14465/DESCRIPTION", "rcd14465/LICENSE",  .... is not TRUE
  Execution halted
OK r-devel-linux-x86_64-fedora-clang

*


            
OK r-devel-linux-x86_64-fedora-gcc

*


            
OK r-devel-macos-arm64

*


            
OK r-devel-windows-x86_64

*


            
OK r-oldrel-macos-arm64

*


            
OK r-oldrel-macos-x86_64

*


            
OK r-oldrel-windows-x86_64

*


            
OK r-patched-linux-x86_64

*


            
ERROR r-release-linux-x86_64

tests

  Running ‘test-as.data.frame.R’ [1s/2s]
  Running ‘test-build_r_pkg.R’ [3s/4s]
  Running ‘test-export.R’ [0s/0s]
  Running ‘test-format_record.R’ [1s/1s]
  Running ‘test-keyring.R’ [0s/1s]
Running the tests in ‘tests/test-build_r_pkg.R’ failed.
Complete output:
  > library(REDCapExporter)
  > temppath <- tempdir()
  > build_r_data_package(
  +   x            = avs_raw_core,
  +   path         = temppath,
  +   author_roles = list(dewittp = c("cre", "aut")),
  + )
  Creating source package at /home/hornik/tmp/scratch/RtmpN7H2b5/rcd14465
  ℹ Updating rcd14465 documentation
  First time using roxygen2. Upgrading automatically...
  ℹ Setting RoxygenNote to "7.3.3"
  ℹ Loading rcd14465
  Writing 'NAMESPACE'
  Writing 'project.Rd'
  Writing 'metadata.Rd'
  Writing 'user.Rd'
  Writing 'record.Rd'
  > 
  > x <- fs::dir_tree(temppath)
  /home/hornik/tmp/scratch/RtmpN7H2b5
  └── rcd14465
      ├── DESCRIPTION
      ├── LICENSE
      ├── NAMESPACE
      ├── R
      │   └── datasets.R
      ├── data
      │   ├── metadata.rda
      │   ├── project.rda
      │   ├── record.rda
      │   └── user.rda
      ├── inst
      │   └── raw-data
      │       ├── metadata.rds
      │       ├── project.rds
      │       ├── record.rds
      │       └── user.rds
      └── man
          ├── metadata.Rd
          ├── project.Rd
          ├── record.Rd
          └── user.Rd
  > x <- unname(sapply(strsplit(x, "rcd14465"), `[`, 2))
  > x[is.na(x)] <- ""
  > x <- sort(paste0("rcd14465", x))
  > 
  > print(x)
   [1] "rcd14465"                            "rcd14465"                           
   [3] "rcd14465"                            "rcd14465"                           
   [5] "rcd14465"                            "rcd14465"                           
   [7] "rcd14465/DESCRIPTION"                "rcd14465/LICENSE"                   
   [9] "rcd14465/NAMESPACE"                  "rcd14465/R"                         
  [11] "rcd14465/R/datasets.R"               "rcd14465/data"                      
  [13] "rcd14465/data/metadata.rda"          "rcd14465/data/project.rda"          
  [15] "rcd14465/data/record.rda"            "rcd14465/data/user.rda"             
  [17] "rcd14465/inst"                       "rcd14465/inst/raw-data"             
  [19] "rcd14465/inst/raw-data/metadata.rds" "rcd14465/inst/raw-data/project.rds" 
  [21] "rcd14465/inst/raw-data/record.rds"   "rcd14465/inst/raw-data/user.rds"    
  [23] "rcd14465/man"                        "rcd14465/man/metadata.Rd"           
  [25] "rcd14465/man/project.Rd"             "rcd14465/man/record.Rd"             
  [27] "rcd14465/man/user.Rd"               
  > 
  > stopifnot(
  +   identical(
  +     x,
  +     sort(
  +       c("rcd14465", "rcd14465/DESCRIPTION", "rcd14465/LICENSE", "rcd14465/NAMESPACE",
  +       "rcd14465/R", "rcd14465/R/datasets.R", "rcd14465/data", "rcd14465/data/metadata.rda",
  +       "rcd14465/data/project.rda", "rcd14465/data/record.rda", "rcd14465/data/user.rda",
  +       "rcd14465/inst", "rcd14465/inst/raw-data", "rcd14465/inst/raw-data/metadata.rds",
  +       "rcd14465/inst/raw-data/project.rds", "rcd14465/inst/raw-data/record.rds",
  +       "rcd14465/inst/raw-data/user.rds", "rcd14465/man", "rcd14465/man/metadata.Rd",
  +       "rcd14465/man/project.Rd", "rcd14465/man/record.Rd", "rcd14465/man/user.Rd")
  +     )
  +   )
  + )
  Error: identical(x, sort(c("rcd14465", "rcd14465/DESCRIPTION", "rcd14465/LICENSE",  .... is not TRUE
  Execution halted
OK r-release-macos-arm64

*


            
OK r-release-macos-x86_64

*


            
OK r-release-windows-x86_64

*


            

Additional Issues

M1mac Details →

Check History

ERROR 12 OK · 0 NOTE · 0 WARNING · 2 ERROR · 0 FAILURE Mar 9, 2026
ERROR r-devel-linux-x86_64-debian-gcc

tests

  Running ‘test-as.data.frame.R’ [1s/1s]
  Running ‘test-build_r_pkg.R’ [2s/2s]
  Running ‘test-export.R’ [0s/0s]
  Running ‘test-format_record.R’ [1s/1s]
  Running ‘test-keyring.R’ [0s/1s]
Running the tests in ‘tests/test-build_r_pkg.R’ failed.
Complete output:
  > library(REDCapExporter)
  > temppath <- tempdir()
  > build_r_data_package(
  +   x            = avs_raw_core,
  +   path         = temppath,
  +   author_roles = list(dewittp = c("cre", "aut")),
  + )
  Creating source package at /t
ERROR r-release-linux-x86_64

tests

  Running ‘test-as.data.frame.R’ [1s/2s]
  Running ‘test-build_r_pkg.R’ [3s/4s]
  Running ‘test-export.R’ [0s/0s]
  Running ‘test-format_record.R’ [1s/1s]
  Running ‘test-keyring.R’ [0s/1s]
Running the tests in ‘tests/test-build_r_pkg.R’ failed.
Complete output:
  > library(REDCapExporter)
  > temppath <- tempdir()
  > build_r_data_package(
  +   x            = avs_raw_core,
  +   path         = temppath,
  +   author_roles = list(dewittp = c("cre", "aut")),
  + )
  Creating source package at /h

Dependency Network

Dependencies Reverse dependencies curl keyring lubridate rjson REDCapExporter

Version History

new 0.3.4 Mar 10, 2026