redcap_wider function

Transforms list of REDCap data.frames to a single wide data.frame

Transforms list of REDCap data.frames to a single wide data.frame

Converts a list of REDCap data.frames from long to wide format. In essence it is a wrapper for the pivot_wider function applied on a REDCap output (from read_redcap_tables ) or manually split by REDCap_split .

redcap_wider( data, event.glue = "{.value}____{redcap_event_name}", inst.glue = "{.value}____{redcap_repeat_instance}" )

Arguments

  • data: A list of data frames
  • event.glue: A glue string for repeated events naming
  • inst.glue: A glue string for repeated instruments naming

Returns

data.frame in wide format

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) list5 <- list( data.frame( record_id = c(1, 2, 1, 2), redcap_event_name = c("baseline", "baseline", "followup", "followup") ), 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(list5)