Вы можете вычислить среднее значение на основе bmi
и sex
переменной
tapply(bmi, sex, mean)
# F M
#25.81020 27.14678
. Нет необходимости в переменной bmi_sex
, чтобы вычислить это, но если это то, как мы получаем ввод, мы можем использовать некоторое регулярное выражение для разделения пола и фактического значения bmi
tapply(as.numeric(sub(".(.*)", "\\1", bmi_sex)), sub("(.).*", "\\1", bmi_sex), mean)
# F M
#25.81020 27.14678
Мы можем написать функцию, чтобы получить значение bmi для одного пола за раз.
get_bmi <- function(bmi, sex, select_sex) {
mean(bmi[sex == select_sex], na.rm = TRUE)
}
, а затем позвоните по номеру
get_bmi(bmi, sex, "F")
#[1] 25.8102
get_bmi(bmi, sex, "M")
#[1] 27.14678