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:
-
data
The actual event data, as given by thedata
parameter. -
ID.colname
the name of the column indata
containing the unique patient ID, as given by theID.colname
parameter. -
event.date.colname
the name of the column indata
containing the start date of the event (in the format given in thedate.format
parameter), as given by theevent.date.colname
parameter. -
event.duration.colname
the name of the column indata
containing the event duration (in days), as given by theevent.duration.colname
parameter. -
event.daily.dose.colname
the name of the column indata
containing the prescribed daily dose, as given by theevent.daily.dose.colname
parameter. -
medication.class.colname
the name of the column indata
containing the classes/types/groups of medication, as given by themedication.class.colname
parameter. -
carry.only.for.same.medication
whether the carry-over applies only across medication of the same type, as given by thecarry.only.for.same.medication
parameter. -
consider.dosage.change
whether the carry-over is adjusted to reflect changes in dosage, as given by theconsider.dosage.change
parameter. -
followup.window.start
the beginning of the follow-up window, as given by thefollowup.window.start
parameter. -
followup.window.start.unit
the time unit of thefollowup.window.start
, as given by thefollowup.window.start.unit
parameter. -
followup.window.duration
the duration of the follow-up window, as given by thefollowup.window.duration
parameter. -
followup.window.duration.unit
the time unit of thefollowup.window.duration
, as given by thefollowup.window.duration.unit
parameter. -
observation.window.start
the beginning of the observation window, as given by theobservation.window.start
parameter. -
observation.window.start.unit
the time unit of theobservation.window.start
, as given by theobservation.window.start.unit
parameter. -
observation.window.duration
the duration of the observation window, as given by theobservation.window.duration
parameter. -
observation.window.duration.unit
the time unit of theobservation.window.duration
, as given by theobservation.window.duration.unit
parameter. -
date.format
the format of the dates, as given by thedate.format
parameter. -
summary
the metadata, as given by thesummary
parameter. -
event.info
thedata.frame
containing the event info (irrelevant for most users; seecompute.event.int.gaps
for details). -
computed.CMA
the class name of the computed CMA. -
CMA
thedata.frame
containing the actualCMA
estimates for each participant (theID.colname
column) and sliding window, with columns:-
ID.colname
the patient ID as given by theID.colname
parameter. -
window.ID
the unique window ID (within patients). -
window.start
the window's start date (as aDate
object). -
window.end
the window's end date (as aDate
object). -
CMA
the 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:
-
patid
the patient ID. -
window.ID
the episode unique ID (increasing sequentially). -
event.index.in.data
the 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)