Skip to contents

get_prev_date() identifies the previous test date for individual subjects and timepoints in a longitudinal study.

add_prev_date() interpolates these previous test dates into a data frame for further analysis.

Usage

add_prev_date(
  object,
  subject = "subject",
  timepoint = "timepoint",
  result = "result",
  prev_date = "prev_date"
)

get_prev_date(
  object,
  subject = "subject",
  timepoint = "timepoint",
  result = "result"
)

Arguments

object

a data.frame (or object coercible by as.data.frame() to a data frame) containing the data to be analysed.

subject

character, name of the column (of type integer or factor) identifying individual study subjects; default "subject".

timepoint

character, name of the column recording time points (as Dates) of testing of subjects; default "timepoint".

result

character, name of the column (of type ordered factor, or binary, see Details) recording test results; default "result".

prev_date

character, name to be used for a new column to record previous test dates; default "prev_date".

Value

add_prev_date()

A data.frame based on object, with an added column named as specified by argument prev_date of class Date containing the values of the previous test dates.

get_prev_date()

A vector of class Date, length nrow(object), containing the values of the previous test dates ordered in the exact sequence of the subject and timepoint in object.

Details

See Transitions details.

Examples



 ## Continuing example from `add_transitions()`
  # subject, timepoint and result arguments all defaults and required types
Blackmore |> str()
#> 'data.frame':	945 obs. of  6 variables:
#>  $ subject  : Factor w/ 231 levels "100","101","102",..: 1 1 1 1 1 2 2 2 2 2 ...
#>  $ age      : num  8 10 12 14 15.9 ...
#>  $ exercise : num  2.71 1.94 2.36 1.54 8.63 0.14 0.14 0 0 5.08 ...
#>  $ group    : Factor w/ 2 levels "control","patient": 2 2 2 2 2 2 2 2 2 2 ...
#>  $ timepoint: Date, format: "2008-01-01" "2009-12-31" ...
#>  $ result   : Ord.factor w/ 15 levels "<=2"<"<=4"<"<=6"<..: 2 1 2 1 5 1 1 1 1 3 ...

  # Integer vector of the previous test dates
get_prev_date(Blackmore)
#>   [1] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#>   [6] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#>  [11] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#>  [16] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#>  [21] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#>  [26] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#>  [31] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#>  [36] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#>  [41] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#>  [46] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#>  [51] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#>  [56] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#>  [61] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#>  [66] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#>  [71] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#>  [76] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#>  [81] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#>  [86] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#>  [91] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#>  [96] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [101] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [106] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [111] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [116] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [121] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [126] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [131] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [136] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [141] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [146] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [151] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [156] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [161] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [166] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [171] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [176] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [181] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [186] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [191] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [196] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [201] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [206] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [211] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [216] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [221] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [226] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [231] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [236] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [241] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [246] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [251] "2014-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [256] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [261] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [266] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [271] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [276] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [281] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [286] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [291] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [296] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [301] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [306] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [311] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [316] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [321] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [326] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [331] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [336] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [341] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [346] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [351] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [356] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [361] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [366] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [371] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [376] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [381] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [386] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [391] "2012-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [396] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [401] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [406] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [411] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [416] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [421] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [426] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [431] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [436] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [441] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [446] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [451] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [456] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [461] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [466] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [471] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [476] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [481] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [486] "2009-12-31" NA           "2008-01-01" "2009-12-31" NA          
#> [491] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [496] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [501] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [506] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [511] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [516] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [521] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [526] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [531] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [536] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [541] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [546] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [551] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [556] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [561] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [566] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [571] "2012-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [576] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [581] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [586] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [591] "2014-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [596] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [601] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [606] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [611] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [616] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [621] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [626] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [631] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [636] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [641] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [646] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [651] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [656] "2009-12-31" NA           "2008-01-01" "2009-12-31" NA          
#> [661] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [666] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [671] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [676] "2009-12-31" NA           "2008-01-01" NA           "2008-01-01"
#> [681] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [686] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [691] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [696] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [701] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [706] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [711] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [716] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [721] "2014-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [726] "2014-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [731] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [736] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [741] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [746] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [751] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [756] "2009-12-31" NA           "2008-01-01" "2009-12-31" NA          
#> [761] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [766] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [771] "2009-12-31" "2012-01-01" "2014-01-01" NA           "2008-01-01"
#> [776] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [781] "2012-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [786] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [791] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [796] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [801] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"
#> [806] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [811] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [816] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [821] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [826] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [831] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [836] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [841] "2009-12-31" NA           "2008-01-01" "2009-12-31" NA          
#> [846] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [851] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [856] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [861] "2012-01-01" NA           "2008-01-01" "2009-12-31" NA          
#> [866] "2008-01-01" "2009-12-31" "2012-01-01" NA           "2008-01-01"
#> [871] "2009-12-31" "2012-01-01" NA           "2008-01-01" "2009-12-31"
#> [876] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [881] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [886] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [891] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [896] "2012-01-01" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [901] NA           "2008-01-01" "2009-12-31" NA           "2008-01-01"
#> [906] "2009-12-31" NA           "2008-01-01" "2009-12-31" "2012-01-01"
#> [911] NA           "2008-01-01" "2009-12-31" "2012-01-01" NA          
#> [916] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [921] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [926] "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01" NA          
#> [931] "2008-01-01" "2009-12-31" NA           "2008-01-01" "2009-12-31"
#> [936] "2012-01-01" "2014-01-01" NA           "2008-01-01" "2009-12-31"
#> [941] NA           "2008-01-01" "2009-12-31" "2012-01-01" "2014-01-01"

  # Add column of  previous test dates to data frame
add_prev_date(Blackmore) |> head(32)
#>    subject   age exercise   group  timepoint result  prev_date
#> 1      100  8.00     2.71 patient 2008-01-01    <=4       <NA>
#> 2      100 10.00     1.94 patient 2009-12-31    <=2 2008-01-01
#> 3      100 12.00     2.36 patient 2012-01-01    <=4 2009-12-31
#> 4      100 14.00     1.54 patient 2014-01-01    <=2 2012-01-01
#> 5      100 15.92     8.63 patient 2015-12-03   <=10 2014-01-01
#> 6      101  8.00     0.14 patient 2008-01-01    <=2       <NA>
#> 7      101 10.00     0.14 patient 2009-12-31    <=2 2008-01-01
#> 8      101 12.00     0.00 patient 2012-01-01    <=2 2009-12-31
#> 9      101 14.00     0.00 patient 2014-01-01    <=2 2012-01-01
#> 10     101 16.67     5.08 patient 2016-09-02    <=6 2014-01-01
#> 11     102  8.00     0.92 patient 2008-01-01    <=2       <NA>
#> 12     102 10.00     1.82 patient 2009-12-31    <=2 2008-01-01
#> 13     102 12.00     4.75 patient 2012-01-01    <=6 2009-12-31
#> 14     102 15.08    24.72 patient 2015-01-30   <=26 2012-01-01
#> 15     103  8.00     1.04 patient 2008-01-01    <=2       <NA>
#> 16     103 10.00     2.90 patient 2009-12-31    <=4 2008-01-01
#> 17     103 12.00     2.65 patient 2012-01-01    <=4 2009-12-31
#> 18     103 14.08     6.86 patient 2014-01-30    <=8 2012-01-01
#> 19     104  8.00     2.75 patient 2008-01-01    <=4       <NA>
#> 20     104 10.00     6.62 patient 2009-12-31    <=8 2008-01-01
#> 21     104 12.00     0.29 patient 2012-01-01    <=2 2009-12-31
#> 22     104 15.42    12.37 patient 2015-06-03   <=14 2012-01-01
#> 23     105  8.00     0.05 patient 2008-01-01    <=2       <NA>
#> 24     105 10.00     0.00 patient 2009-12-31    <=2 2008-01-01
#> 25     105 12.00     0.00 patient 2012-01-01    <=2 2009-12-31
#> 26     105 14.00     0.25 patient 2014-01-01    <=2 2012-01-01
#> 27     105 16.17     1.44 patient 2016-03-03    <=2 2014-01-01
#> 28     106  8.00     0.00 patient 2008-01-01    <=2       <NA>
#> 29     106 10.00     0.46 patient 2009-12-31    <=2 2008-01-01
#> 30     106 12.00     0.12 patient 2012-01-01    <=2 2009-12-31
#> 31     106 14.00     1.34 patient 2014-01-01    <=2 2012-01-01
#> 32     106 16.33     4.83 patient 2016-05-01    <=6 2014-01-01

rm(Blackmore)