sv {bp} | R Documentation |
Calculate the successive variation (SV) at various levels of granularity based on what is supplied (ID, VISIT, WAKE, and / or DATE)for either SBP, DBP, or both. SV is a measure of dispersion that takes into account the temporal structure of the data and relies on the sum of squared differences in successive observations, unlike the average real variability (ARV) which relies on the sum of absolute differences. $$SV = sqrt(sum(x_i+1 - x_i)^2/n-1)$$
sv(data, inc_date = FALSE, subj = NULL, bp_type = 0, add_groups = NULL)
data |
Required argument. Pre-processed dataframe with SBP and DBP columns
with optional ID, VISIT, WAKE, and DATE columns if available.
Use |
inc_date |
Optional argument. Default is FALSE. As ABPM data typically
overlaps due to falling asleep on one date and waking up on another, the |
subj |
Optional argument. Allows the user to specify and subset specific subjects
from the |
bp_type |
Optional argument. Determines whether to calculate ARV for SBP values or DBP values. Default is 0 corresponding to output for both SBP & DBP. For both SBP and DBP ARV values use bp_type = 0, for SBP-only use bp_type = 1, and for DBP-only use bp_type = 2 |
add_groups |
Optional argument. Allows the user to aggregate the data by an
additional "group" to further refine the output. The supplied input must be a
character vector with the strings corresponding to existing column names of the
processed |
NOTE: The canonical standard deviation, independent of the temporal structure using the sample average, is added for comparison: $$SD = sqrt(sum(x_i+1 - xbar)^2/n-1)$$
A tibble object with a row corresponding to each subject, or alternatively a row corresponding to each date if inc_date = TRUE. The resulting tibble consists of:
ID
: The unique identifier of the subject. For single-subject datasets, ID = 1
VISIT
: (If applicable) Corresponds to the visit # of the subject, if more than 1
WAKE
: (If applicable) Corresponds to the awake status of the subject (0 = asleep |
1 = awake)
SV_SBP
/ SV_DBP
: Calculates the square root of the average squared differences
between successive measurements. The resulting value averages across the granularity
grouping for however many observations are present.
N: The number of observations for that particular grouping. If inc_date = TRUE
,
N
corresponds to the number of observations for that date. If inc_date = FALSE
, N
corresponds to the number of observations for the most granular grouping available (i.e.
a combination of ID
, VISIT
, and WAKE
)
Any add_groups variables supplied to function argument will be present as a column in the resulting tibble.
# Load data data(hypnos_data) data(bp_jhs) # Process hypnos_data hypnos_proc <- process_data(hypnos_data, sbp = "SYST", dbp = "DIAST", bp_datetime = "date.time", id = "id", wake = "wake", visit = "visit", hr = "hr", pp ="pp", map = "map", rpp = "rpp") # Process bp_jhs data jhs_proc <- process_data(bp_jhs, sbp = "Sys.mmHg.", dbp = "Dias.mmHg.", bp_datetime = "DateTime", hr = "Pulse.bpm.") # SV Calculation sv(hypnos_proc) sv(jhs_proc, add_groups = c("meal_time")) # Notice that meal_time is not a column from process_data, but it still works