Как рассчитать процент людей с высоким кровяным давлением, классифицированных на основе ИМТ? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть переменная с 4 категориями, underweight, normal, overweight и obese, и я хотел бы рассчитать% высокого давления, от общего числа, для каждой категории.

Это то, что я пытался, но безуспешно:

brfss2013 %>%
  group_by(X_bmi5cat) %>%
  filter(!is.na(X_bmi5cat), !is.na(bphigh4)) %>%
  summarise(bph_rate = sum (bphigh4 == "yes") / n())

независимо от использования раунда, * 100

Не могли бы вы помочь?

1 Ответ

0 голосов
/ 24 мая 2018

Если вы хотите, чтобы процент пациентов с высоким кровяным давлением в каждой группе ИМТ был приведен ниже:

library(dplyr)
bmi <- data.frame(bmi = c(rep('uw',5),rep('norm',5), rep('over',5),rep('obese',5)),
                  hpb = rbinom(20,1,.5) , stringsAsFactors = FALSE)

bmi2 <- bmi %>%
  group_by(bmi, hpb) %>%
  tally %>% 
  group_by(bmi) %>% 
 mutate(pct= n/ sum(n)) 

Если вы хотите, чтобы общий процент пациентов с повышенным кровяным давлением здесь представлял собой код:

bmi2 <- bmi %>%
  group_by(bmi, hpb) %>%
  tally %>% 
  ungroup %>% 
 mutate(pct= n/ sum(n)) 

В приведенном выше коде вы пытаетесь разделить на n(), но если вы хотите использовать свой код, возможно, замените n() только на переменную n.

...