reference_change: Calculate change from a visit

reference_changeR Documentation

Calculate change from a visit

Description

Calculate change from visit or proportion of change from a visit

Usage

change_from_reference(x, reference, point = "Baseline")

pchange_from_reference(x, reference, point = "Baseline")

prop_from_reference(x, reference, point = "Baseline")

get_reference_value(x, reference, point = "Baseline")

add_change_from_reference(
  .data,
  values = "value",
  references = "VisitName",
  point = "Baseline"
)

add_pchange_from_reference(
  .data,
  values = "value",
  references = "VisitName",
  point = "Baseline"
)

add_change_from_reference_wide(
  .data,
  point = "Baseline",
  cols,
  percent = FALSE,
  name = c("CFB", "%CFB"),
  sep = " ",
  rearrange = c("end", "immediate", "after"),
  collate = FALSE
)

Arguments

x

A vector of values or character name of column

reference

A vector of references (i.e., such as visit names) or character name of column

point

A scalar character of the reference (i.e., visit) (default: '"Baseline"')

.data

A 'data.frame'

values

The name of the value column

references

A vector of column names to compute differences from

cols

A character vector of column names

percent

Logical, if 'TRUE' will also calculate percent change

name

A character vector to append to the new column names. The second element will be used if 'percent = TRUE'.

sep

A character separation for the new column names

rearrange

A method to change the arrangement of the 'data.frame' columns with the new columns added: 'end' will do nothing and append columns at very end; 'immediate' will append columns immediate after each 'col'; 'after' will append columns after the last 'col' entered.

collate

For 'percent = TRUE' and 'rearrange = "after"'; will show the change from reference for all 'cols' then the percent change.

Details

These functions are vectorised so they may be used inside a (grouped) 'data.frame' to calculate the change values.

'pchange_from_reference()' calculations a proportion of change from the reference, not a percentage, so it may need to be multiplied by '100' to achieve that.

'prop_from_reference()' is just an alias for 'pchange_from_reference()'.

'get_reference_value()' returns the reference value but as a vector the same length as 'x'. This may be useful for creating a new column based on the reference value in a 'data.frame'.

'add_change_from_reference()' and 'add_pchange_from_reference()' will take a 'data.frame' and append reference change values.

Examples

visits <- c("Screening", "Baseline", "Week 2", "Week 4", "Week 6")
values <- c(3, 2, 3, 2, 4)

df <- data.frame(
  values      = values,
  visits      = visits,
  cfb         = change_from_reference(values, visits, "Baseline"),
  pcfb        = pchange_from_reference(values, visits, "Baseline"),
  p_screening = pchange_from_reference(values, visits, "Week 2"),
  bl_value    = get_reference_value(values, visits)
)

df
add_change_from_reference(df, "values", "visits")
add_pchange_from_reference(df, "values", "visits")

# Appending to a wide data.frame

df <- data.frame(
   Screening = c(1, 2, 3, 4),
   Baseline  = c(1, 2, 3, 4),
   `Week 2`  = c(1, 2, 3, 4),
   `Week 4`  = c(0, 1, 2, 1),
   `Week 6`  = c(0, -1, 0, 0),
   end_col   = letters[1:4],
   end_col2  = letters[1:4],
   check.names = FALSE
)

df
add_change_from_reference_wide(df, "Baseline", paste("Week", c(2, 4, 6)))
add_change_from_reference_wide(df, cols = paste("Week", c(2, 4, 6)),
                               rearrange = "after")
add_change_from_reference_wide(df, "Baseline", paste("Week", c(2, 4, 6)),
                               percent = TRUE, rearrange = "end")
add_change_from_reference_wide(
  df, "Baseline", paste("Week", c(2, 4, 6)),
  percent = TRUE, rearrange = "end", collate = TRUE
)


jmbarbone/jordanExtra documentation built on Aug. 4, 2023, 5:37 p.m.