extract_with_periodDF {timeDF}R Documentation

Extract time records from timeDF object within periods of periodDF object

Description

Extract time records from timeDF object that are included within periods of periodDF object. periodDF object has one of some timescales, and how this function extracts time records depends on the timescale. Also, when the time is on either end of a time period, whether the time record is extracted or not depends on the include argument. "both" means including both sides, "right" means including only the right side, "left" means including only the left side, and "none" does not include any sides.

Usage

extract_with_periodDF(timeDF, periodDF, include, modStart = 0, modEnd = 0,
units = NULL, outputAsBool = FALSE)

Arguments

timeDF

timeDF object

periodDF

periodDF object

include

character element that specifies whether each end of periods is included or not

modStart

values to be added for starts of periods.

modEnd

values to be added for ends of periods.

units

units for values of modStart and modEnd

outputAsBool

boolean value; if this is TRUE, the return value is a boolean vector or boolean vectors that represent(s) records to be extracted

Value

If periodDF does not have labels, timeDF object or a boolean object is returned. If periodDF has labels, a list of timeDF objects with keys of label names or a list of boolean vectors with label name keys is retruned.

See Also

timeDF-class periodDF-class timeDF-package

Examples

time_df = data.frame(
    time = c("2023-01-01 12:00:00",
             "2023-01-21 12:00:00",
             "2023-02-10 12:00:00",
             "2023-03-02 12:00:00",
             "2023-03-22 12:00:00",
             "2023-04-11 12:00:00"
    ),
    value = c(123, 144, 150, 100, 130, 145)
)
timeDF = as.timeDF(time_df)

period_df = data.frame(
    start = c("2023-01-01",
              "2023-02-01",
              "2023-03-01"),
    end = c("2023-01-31",
            "2023-02-28",
            "2023-03-31"),
    label = c("Jan", "Feb", "Mar")
)
periodDF = as.periodDF(period_df, "date", label_var = "label")

extract_with_periodDF(timeDF, periodDF, "both")

[Package timeDF version 0.9.1 Index]