Я не совсем уверен, правильно ли я использую exactci()
, но, возможно, nest()
может помочь.
df <- data.frame(
group_name = sample(letters[1:5], 20, replace = T),
numbers = 1:20,
other_numbers = 51:70
)
library(PropCIs)
library(tidyverse) # tidyverse loads both dplyr and tidyr
df %>%
nest(CI = -group_name) %>%
mutate(CI = map(CI, ~ exactci(x = .x$numbers,
n = .x$other_numbers,
conf.level = .95) %>%
unlist())
) %>%
unnest_wider(CI)
#> # A tibble: 5 x 15
#> group_name conf.int1 conf.int2 conf.int3 conf.int4 conf.int5 conf.int6
#> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 c 0.000496 0.115 0.155 0.184 0.104 0.327
#> 2 b 0.00469 0.0722 0.132 0.270 NA NA
#> 3 a 0.0118 0.0508 0.125 0.157 0.237 0.340
#> 4 e 0.0206 0.0403 0.104 0.135 0.145 0.165
#> 5 d 0.0302 0.0615 0.0829 0.0936 0.200 0.254
#> # ... with 8 more variables: conf.int7 <dbl>, conf.int8 <dbl>,
#> # conf.int9 <dbl>, conf.int10 <dbl>, conf.int11 <dbl>, conf.int12 <dbl>,
#> # conf.int13 <dbl>, conf.int14 <dbl>
Создано в 2019-10-22 представьте пакет (v0.3.0)
nest()
действует как своего рода group_by()
, а map()
облегчает применение таких функций, как exactci()
.
Надеюсь, это поможет!