derive_var_base: Derive Baseline Variables

Description Usage Arguments Details Value Author(s) Examples

View source: R/derive_var_base.R

Description

Derive baseline variables, e.g. BASE or BNRIND, in a BDS dataset

Usage

1
2
3
4
5
6
7
derive_var_base(
  dataset,
  by_vars,
  source_var = AVAL,
  new_var = BASE,
  filter = ABLFL == "Y"
)

Arguments

dataset

The input dataset

by_vars

Grouping variables uniquely identifying a set of records for which to calculate new_var

source_var

The column from which to extract the baseline value, e.g. AVAL

new_var

The name of the newly created baseline column, e.g. BASE

filter

The condition used to filter dataset for baseline records.

By default ABLFL == "Y"

Details

For each by_vars group the baseline record is identified by filtering using the condition specified by filter which defaults to ABLFL == "Y". Subsequently, every value of the new_var variable for the by_vars group is set to the value of the source_var variable of the baseline record. In case there are multiple baseline records within by_vars an error is issued.

Value

A new data.frame containing all records and variables of the input dataset plus the new_var variable

Author(s)

Thomas Neitmann

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
dataset <- tibble::tribble(
  ~STUDYID, ~USUBJID, ~PARAMCD,  ~AVAL,  ~AVALC,   ~AVISIT,    ~ABLFL,
  "TEST01", "PAT01",  "PARAM01", 10.12,  NA,       "Baseline", "Y",
  "TEST01", "PAT01",  "PARAM01",  9.7,   NA,       "Day 7",    "N",
  "TEST01", "PAT01",  "PARAM01", 15.01,  NA,       "Day 14",   "N",
  "TEST01", "PAT01",  "PARAM02",  8.35,  NA,       "Baseline", "Y",
  "TEST01", "PAT01",  "PARAM02", NA,     NA,       "Day 7",    "N",
  "TEST01", "PAT01",  "PARAM02",  8.35,  NA,       "Day 14",   "N",
  "TEST01", "PAT01",  "PARAM03", NA,     "LOW",    "Baseline", "Y",
  "TEST01", "PAT01",  "PARAM03", NA,     "LOW",    "Day 7",    "N",
  "TEST01", "PAT01",  "PARAM03", NA,     "MEDIUM", "Day 14",   "N",
  "TEST01", "PAT01",  "PARAM04", NA,     "HIGH",   "Baseline", "Y",
  "TEST01", "PAT01",  "PARAM04", NA,     "HIGH",   "Day 7",    "N",
  "TEST01", "PAT01",  "PARAM04", NA,     "MEDIUM", "Day 14",   "N"
)

## Derive `BASE` variable from `AVAL`
derive_var_base(
  dataset,
  by_vars = vars(USUBJID, PARAMCD),
  source_var = AVAL,
  new_var = BASE
)

## Derive `BASEC` variable from `AVALC`
derive_var_base(
  dataset,
  by_vars = vars(USUBJID, PARAMCD),
  source_var = AVALC,
  new_var = BASEC
)

## Derive `BNRIND` variable from `ANRIND`
if (FALSE) {
  derive_var_base(
    dataset,
    by_vars = vars(USUBJID, PARAMCD),
    source_var = ANRIND,
    new_var = BNRIND
  )
}

epijim/admiral documentation built on Feb. 13, 2022, 12:15 a.m.