nvRD {LightLogR} | R Documentation |
Non-visual direct response
Description
This function calculates the non-visual direct response (nvRD). It takes into account the assumed response dynamics of the non-visual system and processes the light exposure signal to quantify the effective direct input to the non-visual system (see Details).
Usage
nvRD(MEDI.vector, Illuminance.vector, Time.vector, epoch = "dominant.epoch")
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 |
epoch |
The epoch at which the data was sampled. Can be either a
|
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 nvRD 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()
,
nvRC()
,
nvRD_cumulative_response()
,
period_above_threshold()
,
pulses_above_threshold()
,
threshold_for_duration()
,
timing_above_threshold()
Examples
# Dataset 1 with 24h measurement
dataset1 <-
tibble::tibble(
Id = rep("A", 60 * 24),
Datetime = lubridate::as_datetime(0) + lubridate::minutes(0:(60*24-1)),
Illuminance = c(rep(0, 60*8), rep(sample(1:1000, 16, replace = TRUE), each = 60)),
MEDI = Illuminance * rep(sample(0.5:1.5, 24, replace = TRUE), each = 60)
)
# Dataset 2 with 48h measurement
dataset2 <-
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)
)
# Combined datasets
dataset.combined <- rbind(dataset1, dataset2)
# Calculate nvRD per ID
dataset.combined.nvRD <- dataset.combined %>%
dplyr::group_by(Id) %>%
dplyr::mutate(
nvRD = nvRD(MEDI, Illuminance, Datetime)
)