Splits a minute-level, labeled time series into contiguous episodes of a
target state (sleep or wake) and returns the activity vectors for those
episodes whose length is at least min_len minutes.
extract_sw_period(labeled_df, target_state = 1, min_len = 30)A list of numeric vectors. Each element is the Activity values
for one qualifying episode of the requested state. If no episode qualifies,
returns an empty list (list()).
A data.frame containing at least:
Activity — numeric minute-level activity.
label.sw — binary sleep/wake label per minute (1 = sleep,
0 = wake). NA values are treated as breaks between episodes.
Integer 0 or 1. Use 0 to extract sleep episodes,
1 to extract wake episodes. Default is 1.
Integer minimum episode length in minutes (i.e., number of
consecutive samples) required to keep an episode. Default is 30.
The function uses run-length encoding over label.sw to identify contiguous
episodes. Any NA in label.sw is converted to a sentinel and treated as a
hard break (i.e., episodes do not cross NA gaps). Length filtering is
applied on the number of minutes (rows) per episode.
sleep_detection()
#' @export