View source: R/derive_advs_params.R
derive_param_bmi | R Documentation |
Adds a record for BMI/Body Mass Index using Weight and Height each by group (e.g., subject and visit) where the source parameters are available.
Note: This is a wrapper function for the more generic derive_param_computed()
.
derive_param_bmi(
dataset,
by_vars,
set_values_to = exprs(PARAMCD = "BMI"),
weight_code = "WEIGHT",
height_code = "HEIGHT",
get_unit_expr,
filter = NULL,
constant_by_vars = NULL
)
dataset |
Input dataset The variables specified by the The variable specified by |
by_vars |
Grouping variables For each group defined by Permitted Values: list of variables created by |
set_values_to |
Variables to be set The specified variables are set to the specified values for the new
observations. For example Permitted Values: List of variable-value pairs |
weight_code |
WEIGHT parameter code The observations where Permitted Values: character value |
height_code |
HEIGHT parameter code The observations where Permitted Values: character value Permitted Values: logical scalar |
get_unit_expr |
An expression providing the unit of the parameter The result is used to check the units of the input parameters. Permitted Values: A variable of the input dataset or a function call |
filter |
Filter condition The specified condition is applied to the input dataset before deriving the new parameter, i.e., only observations fulfilling the condition are taken into account. Permitted Values: a condition |
constant_by_vars |
By variables for when HEIGHT is constant When HEIGHT is constant, the HEIGHT parameters (measured only once) are merged to the other parameters using the specified variables. If height is constant (e.g. only measured once at screening or baseline) then
use Permitted Values: list of variables created by |
The analysis value of the new parameter is derived as
BMI = \frac{WEIGHT}{HEIGHT^2}
The input dataset with the new parameter added. Note, a variable will only
be populated in the new parameter rows if it is specified in by_vars
.
compute_bmi()
BDS-Findings Functions for adding Parameters/Records:
default_qtc_paramcd()
,
derive_expected_records()
,
derive_extreme_event()
,
derive_extreme_records()
,
derive_locf_records()
,
derive_param_bsa()
,
derive_param_computed()
,
derive_param_doseint()
,
derive_param_exist_flag()
,
derive_param_exposure()
,
derive_param_framingham()
,
derive_param_map()
,
derive_param_qtc()
,
derive_param_rr()
,
derive_param_wbc_abs()
,
derive_summary_records()
# Example 1: Derive BMI where height is measured only once using constant_by_vars
advs <- tibble::tribble(
~USUBJID, ~PARAMCD, ~PARAM, ~AVAL, ~AVISIT,
"01-701-1015", "HEIGHT", "Height (cm)", 147, "SCREENING",
"01-701-1015", "WEIGHT", "Weight (kg)", 54.0, "SCREENING",
"01-701-1015", "WEIGHT", "Weight (kg)", 54.4, "BASELINE",
"01-701-1015", "WEIGHT", "Weight (kg)", 53.1, "WEEK 2",
"01-701-1028", "HEIGHT", "Height (cm)", 163, "SCREENING",
"01-701-1028", "WEIGHT", "Weight (kg)", 78.5, "SCREENING",
"01-701-1028", "WEIGHT", "Weight (kg)", 80.3, "BASELINE",
"01-701-1028", "WEIGHT", "Weight (kg)", 80.7, "WEEK 2"
)
derive_param_bmi(
advs,
by_vars = exprs(USUBJID, AVISIT),
weight_code = "WEIGHT",
height_code = "HEIGHT",
set_values_to = exprs(
PARAMCD = "BMI",
PARAM = "Body Mass Index (kg/m^2)"
),
get_unit_expr = extract_unit(PARAM),
constant_by_vars = exprs(USUBJID)
)
# Example 2: Derive BMI where height is measured only once and keep only one record
# where both height and weight are measured.
derive_param_bmi(
advs,
by_vars = exprs(USUBJID, AVISIT),
weight_code = "WEIGHT",
height_code = "HEIGHT",
set_values_to = exprs(
PARAMCD = "BMI",
PARAM = "Body Mass Index (kg/m^2)"
),
get_unit_expr = extract_unit(PARAM)
)
# Example 3: Pediatric study where height and weight are measured multiple times
advs <- tibble::tribble(
~USUBJID, ~PARAMCD, ~PARAM, ~AVAL, ~VISIT,
"01-101-1001", "HEIGHT", "Height (cm)", 47.1, "BASELINE",
"01-101-1001", "HEIGHT", "Height (cm)", 59.1, "WEEK 12",
"01-101-1001", "HEIGHT", "Height (cm)", 64.7, "WEEK 24",
"01-101-1001", "HEIGHT", "Height (cm)", 68.2, "WEEK 48",
"01-101-1001", "WEIGHT", "Weight (kg)", 2.6, "BASELINE",
"01-101-1001", "WEIGHT", "Weight (kg)", 5.3, "WEEK 12",
"01-101-1001", "WEIGHT", "Weight (kg)", 6.7, "WEEK 24",
"01-101-1001", "WEIGHT", "Weight (kg)", 7.4, "WEEK 48",
)
derive_param_bmi(
advs,
by_vars = exprs(USUBJID, VISIT),
weight_code = "WEIGHT",
height_code = "HEIGHT",
set_values_to = exprs(
PARAMCD = "BMI",
PARAM = "Body Mass Index (kg/m^2)"
),
get_unit_expr = extract_unit(PARAM)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.