Learn R Programming

CircaCP (version 0.1.2)

extract_sw_period: Extract contiguous sleep or wake periods from a labeled minute series

Description

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.

Usage

extract_sw_period(labeled_df, target_state = 1, min_len = 30)

Value

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()).

Arguments

labeled_df

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.

target_state

Integer 0 or 1. Use 0 to extract sleep episodes, 1 to extract wake episodes. Default is 1.

min_len

Integer minimum episode length in minutes (i.e., number of consecutive samples) required to keep an episode. Default is 30.

Details

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.

See Also

sleep_detection()

#' @export