我正在尝试编写一个通用函数来计算 R 中二项式比例的区间估计的覆盖概率。我打算为各种置信区间方法执行此操作,例如 Wald、Clopper-Pearson、HPD 区间用于不同的先验。
理想情况下,我希望有一个函数,可以将用于计算间隔的方法作为参数。那么我的问题是:如何将一个函数作为参数包含在另一个函数中?
例如,对于 Exact Clopper-Pearson 区间,我有以下函数:
# Coverage for Exact interval
ExactCoverage <- function(n) {
p <- seq(0,1,.001)
x <- 0:n
# value of dist
dist <- sapply(p, dbinom, size=n, x=x)
# interval
int <- Exact(x,n)
# indicator function
ind <- sapply(p, function(x) cbind(int[,1] <= x & int[,2] >= x))
list(coverage = apply(ind*dist, 2, sum), p = p)
}
其中 Exact(x,n) 只是一个计算适当间隔的函数。我想拥有
Coverage <- function(n, FUN, ...)
...
# interval
int <- FUN(...)
这样我就有一个函数来计算覆盖概率,而不是为每种间隔计算方法提供一个单独的覆盖函数。有没有标准的方法来做到这一点?我一直无法找到解释。
谢谢,詹姆斯