bp_sleep_metrics {bp}R Documentation

Nocturnal Blood Pressure Metrics


The bp_sleep_metrics function serves to calculate nocturnal metrics from relevant medical literature.


bp_sleep_metrics(data, subj = NULL)



User-supplied data set containing blood pressure data. Must contain a Systolic blood pressure (SBP), Diastolic blood pressure (DBP) as well as ID, WAKE, and DATE_TIME columns.


Optional argument. Allows the user to specify and subset specific subjects from the ID column of the supplied data set. The subj argument can be a single value or a vector of elements. The input type should be character, but the function will comply with integers so long as they are all present in the ID column of the data.


NOTE: Any reference to "sleep" in the bp package refers to an individual's nocturnal period; "sleep" is used in an informal sense for intuitive purposes. Technically, from a clinical perspective, indication of sleep is currently obtained through means of EEG or other highly specialized equipment. For all intents and purposes, sleep in the context of this package refers to actigraphy-inferred nocturnal periods of rest.

The calculation of BP metrics related to sleep is based on averages of BP readings from four periods as identified in Kairo et al. (2003): presleep or evening (2 hours before sleep start), prewake (2 hours before wake), postwake or morning (2 hours after wake), lowest (3 measurements centered at the minimal BP reading over sleep). The function uses WAKE column to automatically allocate BP measurements to various periods. The following metrics are defined as a function of the period averages (separately for SBP and DBP)

dip_calc = 1 - mean_sleep_BP/mean_wake_BP (dip proportion)

noct_fall = mean_presleep_BP - mean_lowest_BP (nocturnal fall)

ST_mbps = mean_postwake_BP - mean_lowest_BP (sleep through morning blood pressure surge)

PW_mbps = mean_postwake_BP - mean_prewake_BP (prewake morning blood pressure surge)

ME_avg = (mean_presleep_BP + mean_postwake_BP)/2 (morning-evening average)

ME_diff = mean_postwake_BP - mean_presleep_BP (morning-evening difference)

wSD = ( (wake_SD x HRS_wake) + (sleep_SD x HRS_sleep) ) / (HRS_wake + HRS_sleep) (weighted standard deviation)


The function outputs a list containing 4 tibble objects corresponding to the following tables:


Counts of how many BP measurements were observed overall (N_total), total number of readings during sleep (N_sleep), total number of readings during wake (N_wake), number of unique hours recorded during the sleep period (HRS_sleep), and number of unique hours recorded during the wake period (HRS_wake) for each subject ID and grouping variable


Summary statistics for systolic BP measurements (SBP): mean SBP value over Sleep and Wake, sd SBP value over Sleep and Wake, mean SBP value over presleep period (evening in Kario et al. (2003)), mean SBP value over prewake period, mean SBP value over postwake period (morning in Kario et al. (2003)), mean SBP value over 3 reading centered at the lowest SBP value during sleep


Summary statistics for diastolic BP measurements (DBP), same as for SBP


BP metrics associated with sleep as defined above, separately for SBP and DBP


Kario, K., Pickering, T. G., Umeda, Y., Hoshide, S., Hoshide, Y., Morinari, M., ... & Shimada, K. (2003). Morning surge in blood pressure as a predictor of silent and clinical cerebrovascular disease in elderly hypertensives: a prospective study. Circulation, 107(10), 1401-1406.


hypnos_proc <- process_data(bp_hypnos,
                           sbp = "syst",
                           dbp = "DIAST",
                           date_time = "date.time",
                           id = "id",
                           wake = "wake",
                           visit = "visit",
                           hr = "hr",
                           map = "map",
                           rpp = "rpp",
                           pp = "pp",
                           bp_type = "abpm")


[Package bp version 2.1.0 Index]