| CMA_sliding_window {AdhereR} | R Documentation |
CMA_sliding_window constructor.
Description
Applies a given CMA to each sliding window and constructs a CMA_sliding_window object.
Usage
CMA_sliding_window(
CMA.to.apply,
data,
ID.colname = NA,
event.date.colname = NA,
event.duration.colname = NA,
event.daily.dose.colname = NA,
medication.class.colname = NA,
medication.groups = NULL,
flatten.medication.groups = FALSE,
medication.groups.colname = ".MED_GROUP_ID",
carry.only.for.same.medication = NA,
consider.dosage.change = NA,
followup.window.start = 0,
followup.window.start.unit = c("days", "weeks", "months", "years")[1],
followup.window.start.per.medication.group = FALSE,
followup.window.duration = 365 * 2,
followup.window.duration.unit = c("days", "weeks", "months", "years")[1],
observation.window.start = 0,
observation.window.start.unit = c("days", "weeks", "months", "years")[1],
observation.window.duration = 365 * 2,
observation.window.duration.unit = c("days", "weeks", "months", "years")[1],
sliding.window.start = 0,
sliding.window.start.unit = c("days", "weeks", "months", "years")[1],
sliding.window.duration = 90,
sliding.window.duration.unit = c("days", "weeks", "months", "years")[1],
sliding.window.step.duration = 30,
sliding.window.step.unit = c("days", "weeks", "months", "years")[1],
sliding.window.no.steps = NA,
return.inner.event.info = FALSE,
date.format = "%m/%d/%Y",
summary = "CMA per sliding window",
event.interval.colname = "event.interval",
gap.days.colname = "gap.days",
force.NA.CMA.for.failed.patients = TRUE,
return.mapping.events.sliding.window = FALSE,
parallel.backend = c("none", "multicore", "snow", "snow(SOCK)", "snow(MPI)",
"snow(NWS)")[1],
parallel.threads = "auto",
suppress.warnings = FALSE,
suppress.special.argument.checks = FALSE,
...
)
Arguments
CMA.to.apply |
A string giving the name of the CMA function (1 to 9) that will be computed for each treatment episode. |
data |
A |
ID.colname |
A string, the name of the column in |
event.date.colname |
A string, the name of the column in
|
event.duration.colname |
A string, the name of the column in
|
event.daily.dose.colname |
A string, the name of the column in
|
medication.class.colname |
A string, the name of the column in
|
medication.groups |
A vector of characters defining medication
groups or the name of a column in |
flatten.medication.groups |
Logical, if |
medication.groups.colname |
a string (defaults to ".MED_GROUP_ID")
giving the name of the column storing the group name when
|
carry.only.for.same.medication |
Logical, if |
consider.dosage.change |
Logical, if |
followup.window.start |
If a |
followup.window.start.unit |
can be either "days",
"weeks", "months" or "years", and represents the time
units that |
followup.window.start.per.medication.group |
a logical: if there are
medication groups defined and this is |
followup.window.duration |
either a number representing the
duration of the follow-up window in the time units given in
|
followup.window.duration.unit |
can be either "days",
"weeks", "months" or "years", and represents the time
units that |
observation.window.start, observation.window.start.unit, observation.window.duration, observation.window.duration.unit |
the definition of the observation window (see the follow-up window parameters above for details). |
sliding.window.start, sliding.window.start.unit, sliding.window.duration, sliding.window.duration.unit |
the definition of the first sliding window (see the follow-up window parameters above for details). |
sliding.window.step.duration, sliding.window.step.unit |
if not missing
( |
sliding.window.no.steps |
a integer specifying the desired number
of sliding windows to cover the observation window (if possible); trumps
|
return.inner.event.info |
Logical specifying if the function
should also return the event.info for all the individual events in each
sliding window; by default it is |
date.format |
A string giving the format of the dates used in the
|
summary |
Metadata as a string, briefly describing this CMA. |
event.interval.colname |
A string, the name of a newly-created
column storing the number of days between the start of the current event and
the start of the next one; the default value "event.interval" should be
changed only if there is a naming conflict with a pre-existing
"event.interval" column in |
gap.days.colname |
A string, the name of a newly-created column
storing the number of days when medication was not available (i.e., the
"gap days"); the default value "gap.days" should be changed only if there is
a naming conflict with a pre-existing "gap.days" column in |
force.NA.CMA.for.failed.patients |
Logical describing how the
patients for which the CMA estimation fails are treated: if |
return.mapping.events.sliding.window |
A Logical, if |
parallel.backend |
Can be "none" (the default) for single-threaded
execution, "multicore" (using |
parallel.threads |
Can be "auto" (for |
suppress.warnings |
Logical, if |
suppress.special.argument.checks |
Logical parameter for internal
use; if |
... |
other possible parameters |
Details
CMA_sliding_window first computes a set of fixed-size (possibly partly
overlapping) sliding windows,
each sliding to the right by a fixed timelag,
and then, for each of them, it computes the given "simple" CMA.
Thus, as opposed to the "simple" CMAs 1 to 9, it returns a set of CMAs, with
possibly more than one element.
It is highly similar to CMA_per_episode which computes a CMA
for a set of treatment episodes.
Value
An S3 object of class CMA_sliding_window with the
following fields:
-
dataThe actual event data, as given by thedataparameter. -
ID.colnamethe name of the column indatacontaining the unique patient ID, as given by theID.colnameparameter. -
event.date.colnamethe name of the column indatacontaining the start date of the event (in the format given in thedate.formatparameter), as given by theevent.date.colnameparameter. -
event.duration.colnamethe name of the column indatacontaining the event duration (in days), as given by theevent.duration.colnameparameter. -
event.daily.dose.colnamethe name of the column indatacontaining the prescribed daily dose, as given by theevent.daily.dose.colnameparameter. -
medication.class.colnamethe name of the column indatacontaining the classes/types/groups of medication, as given by themedication.class.colnameparameter. -
carry.only.for.same.medicationwhether the carry-over applies only across medication of the same type, as given by thecarry.only.for.same.medicationparameter. -
consider.dosage.changewhether the carry-over is adjusted to reflect changes in dosage, as given by theconsider.dosage.changeparameter. -
followup.window.startthe beginning of the follow-up window, as given by thefollowup.window.startparameter. -
followup.window.start.unitthe time unit of thefollowup.window.start, as given by thefollowup.window.start.unitparameter. -
followup.window.durationthe duration of the follow-up window, as given by thefollowup.window.durationparameter. -
followup.window.duration.unitthe time unit of thefollowup.window.duration, as given by thefollowup.window.duration.unitparameter. -
observation.window.startthe beginning of the observation window, as given by theobservation.window.startparameter. -
observation.window.start.unitthe time unit of theobservation.window.start, as given by theobservation.window.start.unitparameter. -
observation.window.durationthe duration of the observation window, as given by theobservation.window.durationparameter. -
observation.window.duration.unitthe time unit of theobservation.window.duration, as given by theobservation.window.duration.unitparameter. -
date.formatthe format of the dates, as given by thedate.formatparameter. -
summarythe metadata, as given by thesummaryparameter. -
event.infothedata.framecontaining the event info (irrelevant for most users; seecompute.event.int.gapsfor details). -
computed.CMAthe class name of the computed CMA. -
CMAthedata.framecontaining the actualCMAestimates for each participant (theID.colnamecolumn) and sliding window, with columns:-
ID.colnamethe patient ID as given by theID.colnameparameter. -
window.IDthe unique window ID (within patients). -
window.startthe window's start date (as aDateobject). -
window.endthe window's end date (as aDateobject). -
CMAthe window's estimated CMA.
-
Please note that if medication.groups are defined, then the CMA
and event.info are named lists, each element containing the CMA and
event.info corresponding to a single medication group (the element's name).
See Also
CMA_per_episode is very similar, computing a "simple"
CMA for each of the treatment episodes.
The "simple" CMAs that can be computed comprise CMA1,
CMA2, CMA3, CMA4,
CMA5, CMA6, CMA7,
CMA8, CMA9, as well as user-defined classes
derived from CMA0 that have a CMA component giving the
estimated CMA per patient as a data.frame.
If return.mapping.events.sliding.window is TRUE, then this also has an
attribute mapping.windows.to.events that gives the mapping between
episodes and events as a data.table with the following columns:
-
patidthe patient ID. -
window.IDthe episode unique ID (increasing sequentially). -
event.index.in.datathe event given by its row number in thedata.
Examples
## Not run:
cmaW <- CMA_sliding_window(CMA="CMA1",
data=med.events,
ID.colname="PATIENT_ID",
event.date.colname="DATE",
event.duration.colname="DURATION",
event.daily.dose.colname="PERDAY",
medication.class.colname="CATEGORY",
carry.only.for.same.medication=FALSE,
consider.dosage.change=FALSE,
followup.window.start=0,
observation.window.start=0,
observation.window.duration=365,
sliding.window.start=0,
sliding.window.start.unit="days",
sliding.window.duration=90,
sliding.window.duration.unit="days",
sliding.window.step.duration=7,
sliding.window.step.unit="days",
sliding.window.no.steps=NA,
date.format="%m/%d/%Y"
);
## End(Not run)