This function calculates the variability of 24h light exposure patterns across multiple days. Calculated as the ratio of the variance of the average daily pattern to the total variance across all days. Calculated with mean hourly light levels. Ranges between 0 (Gaussian noise) and 1 (Perfect Stability).
Arguments
- Light.vector
Numeric vector containing the light data.
- Datetime.vector
Vector containing the time data. Must be POSIXct.
- na.rm
Logical. Should missing values be removed? Defaults to
FALSE
.- as.df
Logical. Should the output be returned as a data frame? If
TRUE
, a data frame with a single column namedinterdaily_stability
will be returned. Defaults toFALSE
.
References
Van Someren, E. J. W., Swaab, D. F., Colenda, C. C., Cohen, W., McCall, W. V., & Rosenquist, P. B. (1999). Bright Light Therapy: Improved Sensitivity to Its Effects on Rest-Activity Rhythms in Alzheimer Patients by Application of Nonparametric Methods. Chronobiology International, 16(4), 505–518. doi:10.3109/07420529908998724
Hartmeyer, S.L., Andersen, M. (2023). Towards a framework for light-dosimetry studies: Quantification metrics. Lighting Research & Technology. doi:10.1177/14771535231170500
See also
Other metrics:
bright_dark_period()
,
centroidLE()
,
disparity_index()
,
duration_above_threshold()
,
exponential_moving_average()
,
frequency_crossing_threshold()
,
intradaily_variability()
,
midpointCE()
,
nvRC()
,
nvRD()
,
nvRD_cumulative_response()
,
period_above_threshold()
,
pulses_above_threshold()
,
threshold_for_duration()
,
timing_above_threshold()
Examples
set.seed(1)
N <- 24 * 7
# Calculate metric for seven 24 h days with two measurements per hour
dataset1 <-
tibble::tibble(
Id = rep("A", N * 2),
Datetime = lubridate::as_datetime(0) + c(lubridate::minutes(seq(0, N * 60 - 30, 30))),
MEDI = sample(1:1000, N * 2)
)
dataset1 %>%
dplyr::summarise(
"Interdaily stability" = interdaily_stability(MEDI, Datetime)
)
#> # A tibble: 1 × 1
#> `Interdaily stability`
#> <dbl>
#> 1 0.153