Я пытался вычислить доверительные интервалы для биномиальных распределений через пакет Hmisc R.В частности, я использовал функцию binconf, которая отлично справляется со своей задачей.
library(plyr)
library(Hmisc)
Student <- c("A", "B", "C")
TP <- c(13, 36, 43)
obs.pos <- c(16, 37, 48)
df <- data.frame(Student, TP, obs.pos)
df1 <- df %>%
plyr::mutate(Sen = binconf(TP, obs.pos, alpha = 0.05, method = "wilson", return.df = TRUE))
df1 %>% View()
# Student TP obs.pos Sen.PointEst Sen.Lower Sen.Upper
#1 A 13 16 0.8125000 0.5699112 0.9340840
#2 B 36 37 0.9729730 0.8617593 0.9986137
#3 C 43 48 0.8958333 0.7783258 0.9546783
К сожалению, я чувствую, что функция создает фрейм данных в моем исходном фрейме данных, и это не позволяет мне применять базовые функции к моемувыходной больше.Например, я не могу выбрать столбцы (используя dplyr) или округленные цифры, потому что R не может найти созданные столбцы (такие как Sen.PointEst, Sen.Lower, Sen.Upper).Ниже приведена структура моего вывода.
df1 %>% str()
#'data.frame': 3 obs. of 4 variables:
# $ Student: Factor w/ 3 levels "A","B","C": 1 2 3
# $ TP : num 13 36 43
# $ obs.pos: num 16 37 48
# $ Sen :'data.frame': 3 obs. of 3 variables:
# ..$ PointEst: num 0.812 0.973 0.896
# ..$ Lower : num 0.57 0.862 0.778
# ..$ Upper : num 0.934 0.999 0.955
Я бы хотел, чтобы все столбцы находились на первом уровне моего вывода, чтобы я мог легко применить все нормальные функции к своему выводу.
Спасибо за любую помощь!