I am attempting to write a general function to calculate coverage probabilities for interval estimation of Binomial proportions in R. I intend to do this for a variety of confidence interval methods e.g. Wald, Clopper-Pearson, HPD intervals for varying priors.
Ideally, I would like there to be one function, that can take, as an argument, the method that should be used to calculate the interval. My question then: how can I include a function as an argument in another function?
As an example, for the Exact Clopper-Pearson interval I have the following function:
# 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)
}
Where Exact(x,n) is just a function to calculate the appropriate interval. I would like to have
Coverage <- function(n, FUN, ...)
...
# interval
int <- FUN(...)
so that I have one function to calculate the coverage probabilities rather than a separate coverage function for each method of interval calculation. Is there a standard way to do this? I have not been able to find an explanation.
Thanks, James