Find Previous Test Date for Subject
PreviousDate.Rdget_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 byas.data.frame()to a data frame) containing the data to be analysed.- subject
character, name of the column (of typeintegerorfactor) identifying individual study subjects; default"subject".- timepoint
character, name of the column recording time points (asDates) of testing of subjects; default"timepoint".- result
character, name of the column (of typeordered 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.framebased onobject, with an added column named as specified by argumentprev_dateof classDatecontaining the values of the previous test dates.get_prev_date()A
vectorof classDate, lengthnrow(object), containing the values of the previous test dates ordered in the exact sequence of thesubjectandtimepointinobject.
Details
See Transitions details.
See also
data.frame, Dates, ordered factor.
Other transitions:
PreviousResult,
Transitions,
uniques()
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)