Расчет интервала Вильсона для построения биномиальных пропорций в R? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть фрейм данных, состоящий из шести переменных - одной двухуровневой группирующей переменной, указывающей статус лечения, и четырех двоичных (0/1) переменных. Я хотел бы изобразить долю успехов с 95% доверительным интервалом в виде столбцов ошибок для каждой двоичной переменной, включая отдельные точки и цвета для каждой группы лечения.

В настоящее время я рисую их, как показано ниже.

  df2 <-
  df %>%
  select(., c(q1_active,     # select variables
              q2_appt, 
              q2_trmt, 
              q2_img, 
              q2_tele, 
              q2_trav))

  df3 <- 
  df2 %>%
    pivot_longer(cols = starts_with("q2"),
                 names_to = "variable",
                 names_prefix = "q2",
                 values_to = "values")
se <- function(x) sqrt(var(x)/length(x)) #creates function to calculate standard error of the mean

  df4 <-
  df3 %>%
    group_by(variable, q1_active) %>% # group by both binom variable and treatment status
    mutate(means=mean(values)) %>% # calculate proportions for binomial variables
    mutate(se=se(values)) %>% # calculates std error
    distinct(means, .keep_all=TRUE)
    ungroup() %>%
    drop_na() # there is one "NA" group in the treatment variable I do not need
pos <- position_dodge(.5)

p2 <-
df5 %>%
    ggplot(., aes(x=variable, y=means)) +
    geom_point(aes(colour=as.factor(q1_active)),position=pos) +
    geom_errorbar(aes(ymin=means-(1.96*se), ymax=means+(1.96*se), 
                      colour=as.factor(q1_active),
                      group=as.factor(q1_active)),
                      width=.2, position=pos) +
    labs(title="Title Here",
         subtitle="Subtitle Here",
         x="",
         y="")

Сюжет выглядит нормально. Я знаю, что пропорции правильные, потому что я дважды проверил переменную «означает».

Однако я не уверен, что правильно рассчитываю стандартную ошибку для этих пропорций. Вдобавок (и, как вы, вероятно, видите), когда я запускаю график, у меня есть одна пропорция с нулевой частотой. Вместо этого я хотел бы рассчитать и построить интервал Вильсона для этих пропорций вместо стандартной ошибки, как это сделал я.

Может ли кто-нибудь помочь мне в том, как правильно рассчитать для этих биномиальных пропорций Вильсона (или «точный») доверительный интервал - либо до, либо после того, как я разверну свой фрейм данных - и как построить его график с помощью ggplot? недоразумения. И, пожалуйста, дайте мне знать, если вам нужны какие-либо разъяснения. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...