mirror of
https://github.com/agdamsbo/REDCapCAST.git
synced 2025-01-18 21:16:34 +01:00
87 lines
2.2 KiB
R
87 lines
2.2 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/redcap_wider.R
|
|
\name{redcap_wider}
|
|
\alias{redcap_wider}
|
|
\title{Transforms list of REDCap data.frames to a single wide data.frame}
|
|
\usage{
|
|
redcap_wider(
|
|
data,
|
|
event.glue = "{.value}____{redcap_event_name}",
|
|
inst.glue = "{.value}____{redcap_repeat_instance}"
|
|
)
|
|
}
|
|
\arguments{
|
|
\item{data}{A list of data frames}
|
|
|
|
\item{event.glue}{A \link[glue]{glue} string for repeated events naming}
|
|
|
|
\item{inst.glue}{A \link[glue]{glue} string for repeated instruments naming}
|
|
}
|
|
\value{
|
|
data.frame in wide format
|
|
}
|
|
\description{
|
|
Converts a list of REDCap data.frames from long to wide format.
|
|
In essence it is a wrapper for the \link[tidyr]{pivot_wider} function applied
|
|
on a REDCap output (from \link[REDCapCAST]{read_redcap_tables}) or manually
|
|
split by \link[REDCapCAST]{REDCap_split}.
|
|
}
|
|
\examples{
|
|
# Longitudinal
|
|
list1 <- list(
|
|
data.frame(
|
|
record_id = c(1, 2, 1, 2),
|
|
redcap_event_name = c("baseline", "baseline", "followup", "followup"),
|
|
age = c(25, 26, 27, 28)
|
|
),
|
|
data.frame(
|
|
record_id = c(1, 2),
|
|
redcap_event_name = c("baseline", "baseline"),
|
|
gender = c("male", "female")
|
|
)
|
|
)
|
|
redcap_wider(list1)
|
|
# Simpel with two instruments
|
|
list2 <- list(
|
|
data.frame(
|
|
record_id = c(1, 2),
|
|
age = c(25, 26)
|
|
),
|
|
data.frame(
|
|
record_id = c(1, 2),
|
|
gender = c("male", "female")
|
|
)
|
|
)
|
|
redcap_wider(list2)
|
|
# Simple with single instrument
|
|
list3 <- list(data.frame(
|
|
record_id = c(1, 2),
|
|
age = c(25, 26)
|
|
))
|
|
redcap_wider(list3)
|
|
# Longitudinal with repeatable instruments
|
|
list4 <- list(
|
|
data.frame(
|
|
record_id = c(1, 2, 1, 2),
|
|
redcap_event_name = c("baseline", "baseline", "followup", "followup"),
|
|
age = c(25, 26, 27, 28)
|
|
),
|
|
data.frame(
|
|
record_id = c(1, 1, 1, 1, 2, 2, 2, 2),
|
|
redcap_event_name = c(
|
|
"baseline", "baseline", "followup", "followup",
|
|
"baseline", "baseline", "followup", "followup"
|
|
),
|
|
redcap_repeat_instrument = "walk",
|
|
redcap_repeat_instance = c(1, 2, 1, 2, 1, 2, 1, 2),
|
|
dist = c(40, 32, 25, 33, 28, 24, 23, 36)
|
|
),
|
|
data.frame(
|
|
record_id = c(1, 2),
|
|
redcap_event_name = c("baseline", "baseline"),
|
|
gender = c("male", "female")
|
|
)
|
|
)
|
|
redcap_wider(list4)
|
|
}
|