nvRC {LightLogR} | R Documentation |
Non-visual circadian response
Description
This function calculates the non-visual circadian response (nvRC). It takes into account the assumed response dynamics of the non-visual system and the circadian rhythm and processes the light exposure signal to quantify the effective circadian-weighted input to the non-visual system (see Details).
Usage
nvRC(
MEDI.vector,
Illuminance.vector,
Time.vector,
epoch = "dominant.epoch",
sleep.onset = NULL
)
Arguments
MEDI.vector |
Numeric vector containing the melanopic EDI data. |
Illuminance.vector |
Numeric vector containing the Illuminance data. |
Time.vector |
Vector containing the time data. Can be POSIXct, hms, duration, or difftime. |
epoch |
The epoch at which the data was sampled. Can be either a
duration or a string. If it is a string, it needs to be
either |
sleep.onset |
The time of habitual sleep onset. Can be HMS, numeric, or NULL.
If NULL (the default), then the data is assumed to start at habitual sleep onset.
If |
Details
The timeseries is assumed to be regular. Missing values in the light data will be replaced by 0.
Value
A numeric vector containing the nvRC data. The output has the same
length as Time.vector
.
References
Amundadottir, M.L. (2016). Light-driven model for identifying indicators of non-visual health potential in the built environment [Doctoral dissertation, EPFL]. EPFL infoscience. doi:10.5075/epfl-thesis-7146
See Also
Other metrics:
bright_dark_period()
,
centroidLE()
,
disparity_index()
,
duration_above_threshold()
,
exponential_moving_average()
,
frequency_crossing_threshold()
,
interdaily_stability()
,
intradaily_variability()
,
midpointCE()
,
nvRD()
,
nvRD_cumulative_response()
,
period_above_threshold()
,
pulses_above_threshold()
,
threshold_for_duration()
,
timing_above_threshold()
Examples
dataset1 <-
tibble::tibble(
Id = rep("B", 60 * 48),
Datetime = lubridate::as_datetime(0) + lubridate::minutes(0:(60*48-1)),
Illuminance = c(rep(0, 60*8), rep(sample(1:1000, 16, replace = TRUE), each = 60),
rep(0, 60*8), rep(sample(1:1000, 16, replace = TRUE), each = 60)),
MEDI = Illuminance * rep(sample(0.5:1.5, 48, replace = TRUE), each = 60)
)
# Time.vector as POSIXct
dataset1.nvRC <- dataset1 %>%
dplyr::mutate(
nvRC = nvRC(MEDI, Illuminance, Datetime, sleep.onset = hms::as_hms("22:00:00"))
)
# Time.vector as difftime
dataset2 <- dataset1 %>%
dplyr::mutate(Datetime = Datetime - lubridate::as_datetime(lubridate::dhours(22)))
dataset2.nvRC <- dataset2 %>%
dplyr::mutate(
nvRC = nvRC(MEDI, Illuminance, Datetime, sleep.onset = lubridate::dhours(0))
)