including data and sorting vignette. still work to be done.

This commit is contained in:
AG Damsbo 2023-04-13 12:15:34 +02:00
parent 349ff695e1
commit 09690777a8
14 changed files with 184 additions and 27 deletions

1
.Renviron Normal file
View File

@ -0,0 +1 @@
_R_CHECK_FORCE_SUGGESTS_=FALSE

View File

@ -49,5 +49,7 @@ Collate:
'REDCap_split.r' 'REDCap_split.r'
'read_redcap_tables.R' 'read_redcap_tables.R'
'redcap_wider.R' 'redcap_wider.R'
'redcapcast_data.R'
'redcapcast_meta.R'
Language: en-US Language: en-US
VignetteBuilder: knitr VignetteBuilder: knitr

35
R/redcapcast_data.R Normal file
View File

@ -0,0 +1,35 @@
#' Data set for demonstration
#'
#' This is a small dataset from a REDCap database for demonstrational purposes.
#' Contains only synthetic data.
#'
#' @format A data frame with 22 variables:
#' \describe{
#' \item{record_id}{ID, numeric}
#' \item{redcap_event_name}{Event name, character}
#' \item{redcap_repeat_instrument}{Repeat instrument, character}
#' \item{redcap_repeat_instance}{Repeat instance, numeric}
#' \item{cpr}{CPR number, character}
#' \item{inclusion}{Inclusion date, date}
#' \item{dob}{Date of birth, date}
#' \item{age}{Age decimal, numeric}
#' \item{age_integer}{Age integer, numeric}
#' \item{sex}{Legal sex, character}
#' \item{cohabitation}{Cohabitation status, character}
#' \item{hypertension}{Hypertension, character}
#' \item{diabetes}{diabetes, character}
#' \item{region}{region, character}
#' \item{base_complete}{Completed, character}
#' \item{mrs_assessed}{mRS Assessed, character}
#' \item{mrs_date}{Assesment date, date}
#' \item{mrs_score}{Score, numeric}
#' \item{mrs_complete}{Complete, numeric}
#' \item{event_date}{Event date, date}
#' \item{event_type}{Event type, character}
#' \item{event_complete}{Completed, character}
#'
#' }
#' @usage data(redcapcast_data)
"redcapcast_data"

29
R/redcapcast_meta.R Normal file
View File

@ -0,0 +1,29 @@
#' REDCap matedata from data base
#'
#' This metadata dataset from a REDCap database is for demonstrational purposes.
#'
#' @format A data frame with 22 variables:
#' \describe{
#' \item{field_name}{field_name, character}
#' \item{form_name}{form_name, character}
#' \item{section_header}{section_header, character}
#' \item{field_type}{field_type, character}
#' \item{field_label}{field_label, character}
#' \item{select_choices_or_calculations}{select_choices_or_calculations, character}
#' \item{field_note}{field_note, character}
#' \item{text_validation_type_or_show_slider_number}{text_validation_type_or_show_slider_number, character}
#' \item{text_validation_min}{text_validation_min, character}
#' \item{text_validation_max}{text_validation_max, character}
#' \item{identifier}{identifier, character}
#' \item{branching_logic}{branching_logic, character}
#' \item{required_field}{required_field, character}
#' \item{custom_alignment}{custom_alignment, character}
#' \item{question_number}{question_number, character}
#' \item{matrix_group_name}{matrix_group_name, character}
#' \item{matrix_ranking}{matrix_ranking, character}
#' \item{field_annotation}{field_annotation, character}
#' }
#' @usage data(redcapcast_meta)
"redcapcast_meta"

View File

@ -0,0 +1,8 @@
## code to prepare `redcapcast_data` dataset goes here
redcapcast_data <- REDCapR::redcap_read(redcap_uri = uri,
token = keyring::key_get("cast_api"),
raw_or_label = "label"
)$data
usethis::use_data(redcapcast_data, overwrite = TRUE)

View File

@ -0,0 +1,6 @@
## code to prepare `redcapcast_meta` dataset goes here
redcapcast_meta <- REDCapR::redcap_metadata_read(redcap_uri = uri,
token = keyring::key_get("cast_api")
)$data
usethis::use_data(redcapcast_meta, overwrite = TRUE)

BIN
data/redcapcast_data.rda Normal file

Binary file not shown.

BIN
data/redcapcast_meta.rda Normal file

Binary file not shown.

View File

@ -3,5 +3,5 @@ pkgdown: 2.0.7
pkgdown_sha: ~ pkgdown_sha: ~
articles: articles:
Introduction: Introduction.html Introduction: Introduction.html
last_built: 2023-04-13T08:56Z last_built: 2023-04-13T10:14Z

File diff suppressed because one or more lines are too long

View File

@ -39,6 +39,12 @@
<url> <url>
<loc>/reference/redcap_wider.html</loc> <loc>/reference/redcap_wider.html</loc>
</url> </url>
<url>
<loc>/reference/redcapcast_data.html</loc>
</url>
<url>
<loc>/reference/redcapcast_meta.html</loc>
</url>
<url> <url>
<loc>/reference/sanitize_split.html</loc> <loc>/reference/sanitize_split.html</loc>
</url> </url>

42
man/redcapcast_data.Rd Normal file
View File

@ -0,0 +1,42 @@
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/redcapcast_data.R
\docType{data}
\name{redcapcast_data}
\alias{redcapcast_data}
\title{Data set for demonstration}
\format{
A data frame with 22 variables:
\describe{
\item{record_id}{ID, numeric}
\item{redcap_event_name}{Event name, character}
\item{redcap_repeat_instrument}{Repeat instrument, character}
\item{redcap_repeat_instance}{Repeat instance, numeric}
\item{cpr}{CPR number, character}
\item{inclusion}{Inclusion date, date}
\item{dob}{Date of birth, date}
\item{age}{Age decimal, numeric}
\item{age_integer}{Age integer, numeric}
\item{sex}{Legal sex, character}
\item{cohabitation}{Cohabitation status, character}
\item{hypertension}{Hypertension, character}
\item{diabetes}{diabetes, character}
\item{region}{region, character}
\item{base_complete}{Completed, character}
\item{mrs_assessed}{mRS Assessed, character}
\item{mrs_date}{Assesment date, date}
\item{mrs_score}{Score, numeric}
\item{mrs_complete}{Complete, numeric}
\item{event_date}{Event date, date}
\item{event_type}{Event type, character}
\item{event_complete}{Completed, character}
}
}
\usage{
data(redcapcast_data)
}
\description{
This is a small dataset from a REDCap database for demonstrational purposes.
Contains only synthetic data.
}
\keyword{datasets}

36
man/redcapcast_meta.Rd Normal file
View File

@ -0,0 +1,36 @@
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/redcapcast_meta.R
\docType{data}
\name{redcapcast_meta}
\alias{redcapcast_meta}
\title{REDCap matedata from data base}
\format{
A data frame with 22 variables:
\describe{
\item{field_name}{field_name, character}
\item{form_name}{form_name, character}
\item{section_header}{section_header, character}
\item{field_type}{field_type, character}
\item{field_label}{field_label, character}
\item{select_choices_or_calculations}{select_choices_or_calculations, character}
\item{field_note}{field_note, character}
\item{text_validation_type_or_show_slider_number}{text_validation_type_or_show_slider_number, character}
\item{text_validation_min}{text_validation_min, character}
\item{text_validation_max}{text_validation_max, character}
\item{identifier}{identifier, character}
\item{branching_logic}{branching_logic, character}
\item{required_field}{required_field, character}
\item{custom_alignment}{custom_alignment, character}
\item{question_number}{question_number, character}
\item{matrix_group_name}{matrix_group_name, character}
\item{matrix_ranking}{matrix_ranking, character}
\item{field_annotation}{field_annotation, character}
}
}
\usage{
data(redcapcast_meta)
}
\description{
This metadata dataset from a REDCap database is for demonstrational purposes.
}
\keyword{datasets}

View File

@ -20,57 +20,49 @@ library(REDCapCAST)
This vignette covers the included functions and basic functionality. This vignette covers the included functions and basic functionality.
A dataset and a meta data file are provided with the package for demonstration of the functions.
## Splitting the dataset ## Splitting the dataset
```{r eval=FALSE}
keyring::key_set("handbook_api")
keyring::key_set("cast_api")
```
```{r include=FALSE}
uri <- keyring::key_get("DB_URI")
```
```{r} ```{r}
dataset <- REDCapR::redcap_read_oneshot(redcap_uri = uri, redcapcast_data |> gt::gt()
token = keyring::key_get("cast_api"))$data
dataset |> gt::gt()
``` ```
```{r} ```{r}
metadata <- REDCapR::redcap_metadata_read(redcap_uri = uri, redcapcast_meta |> gt::gt()
token = keyring::key_get("cast_api"))$data
metadata |> gt::gt()
``` ```
```{r} ```{r}
list <- list <-
REDCapCAST::REDCap_split(records = dataset, REDCapCAST::REDCap_split(records = redcapcast_data,
metadata = metadata, metadata = redcapcast_meta,
forms = "repeating") forms = "repeating")
str(list) str(list)
``` ```
```{r} ```{r}
list <- list <-
REDCapCAST::REDCap_split(records = dataset, REDCapCAST::REDCap_split(records = redcapcast_data,
metadata = metadata, metadata = redcapcast_meta,
forms = "all") forms = "all")
str(list) str(list)
``` ```
## Reading data from REDCap ## Reading data from REDCap
```{r} This function wraps all the above demonstrated function to get the dataset, the metadata, apply the `REDCap_split`function and then a bit of cleaning.
ds <- read_redcap_tables(uri = uri, token = keyring::key_get("cast_api"))
str(ds) The function works verysimilarly as the `REDCapR::redcap_read()`.
```{r eval=FALSE}
# read_redcap_tables(uri = "YOUR URI", token = "YOUR TOKEN")
# ds <- read_redcap_tables(uri = key_get("DB_URI"), token = key_get("cast_api"))
``` ```
## Pivotting to wider format ## Pivotting to wider format
```{r} ```{r}
redcap_wider(ds) |> gt::gt() # redcap_wider(ds)
``` ```