library(dplyr, warn.conflicts = FALSE)
vs <- tribble(
~STUDYID, ~DOMAIN, ~USUBJID, ~VSTESTCD, ~VISITNUM, ~VSTPTNUM,
"PILOT01", "VS", "01-703-1182", "DIABP", 3, 815,
"PILOT01", "VS", "01-703-1182", "DIABP", 3, 816,
"PILOT01", "VS", "01-703-1182", "DIABP", 4, 815,
"PILOT01", "VS", "01-703-1182", "DIABP", 4, 816,
"PILOT01", "VS", "01-703-1182", "PULSE", 3, 815,
"PILOT01", "VS", "01-703-1182", "PULSE", 3, 816,
"PILOT01", "VS", "01-703-1182", "PULSE", 4, 815,
"PILOT01", "VS", "01-703-1182", "PULSE", 4, 816,
"PILOT01", "VS", "01-703-1182", "SYSBP", 3, 815,
"PILOT01", "VS", "01-703-1182", "SYSBP", 3, 816,
"PILOT01", "VS", "01-703-1182", "SYSBP", 4, 815,
"PILOT01", "VS", "01-703-1182", "SYSBP", 4, 816,
"PILOT01", "VS", "01-716-1229", "DIABP", 3, 815,
"PILOT01", "VS", "01-716-1229", "DIABP", 3, 816,
"PILOT01", "VS", "01-716-1229", "DIABP", 4, 815,
"PILOT01", "VS", "01-716-1229", "DIABP", 4, 816,
"PILOT01", "VS", "01-716-1229", "PULSE", 3, 815,
"PILOT01", "VS", "01-716-1229", "PULSE", 3, 816,
"PILOT01", "VS", "01-716-1229", "PULSE", 4, 815,
"PILOT01", "VS", "01-716-1229", "PULSE", 4, 816,
"PILOT01", "VS", "01-716-1229", "SYSBP", 3, 815,
"PILOT01", "VS", "01-716-1229", "SYSBP", 3, 816,
"PILOT01", "VS", "01-716-1229", "SYSBP", 4, 815,
"PILOT01", "VS", "01-716-1229", "SYSBP", 4, 816
)
vs %>%
derive_var_obs_number(
by_vars = exprs(USUBJID, VSTESTCD),
order = exprs(VISITNUM, desc(VSTPTNUM))
)
Run the code above in your browser using DataLab