在 R 中填充 table

Populating a table in R

我正在尝试制作一个 table 来保存通过多种方法确定的不同初始概率的样本量。我希望它看起来像下面这样

Prob.    .80    .81    .82 ...
Wald     xxx    yyy    zzz
AC       qqq    rrr    sss
Jeff.    ddd    uuu    iii

字母是我想根据区间类型和概率值填充的实际输出。为了获得单独的值,我可以使用以下代码片段,但很难将它们组合在一起。

library(binom)
n_wald <- ciss.wald(p, d, alpha = a)
n_agricoull <- ciss.agresticoull(p, d, alpha = a)
n_jeffreys <- ciss.binom(p, d, alpha = a, prior.shape1 = 0.5,
 prior.shape2 = 0.5, method = "bayes")

我需要帮助将样本量计算转换为初始概率的每个增量的 table。基本上,我正在尝试使用第二段代码为 table.

填写 "xxx"

您引用的函数实际上在binomSamSize包中。它们是矢量化的,这使得这更容易一些,除非您为多个参数提供多个值。

我使用 dplyr 只是为了更容易将它们推送到数据框中。

library(binomSamSize)
library(dplyr)
p0_vec <- seq(0.8, 0.9, by = 0.02)

rbind(
  ciss.wald(p0=p0_vec, 
            alpha=0.1, 
            d=0.05),
  ciss.agresticoull(p0=p0_vec, 
                    alpha=0.1, 
                    d=0.05),
  vapply(p0_vec,
         ciss.binom,
         numeric(1),
         alpha=0.1, 
         d=0.05,
         prior.shape1 = 0.5,
         prior.shape2 = 0.5, 
         method = "bayes")
) %>%
  as.data.frame() %>%
  bind_cols(
    data.frame(type = c("Wald", "AC", "Jeff"), 
               stringsAsFactors = FALSE),
    .
  ) %>%
setNames(c("type", p0_vec))