Sto tentando di scrivere una funzione generale per calcolare le probabilità di copertura per la stima a intervalli delle proporzioni binomiali in R. Intendo farlo per una varietà di metodi dell'intervallo di confidenza, ad es. Wald, Clopper-Pearson, intervalli di HPD per diversi priori.Parametro funzione come argomento in una funzione R
Idealmente, mi piacerebbe che ci fosse una funzione, che può assumere, come argomento, il metodo che dovrebbe essere usato per calcolare l'intervallo. La mia domanda allora: come posso includere una funzione come argomento in un'altra funzione?
Ad esempio, per l'esatto intervallo Clopper-Pearson Ho la seguente funzione:
# 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)
}
Dove Exact (x, n) è solo una funzione per calcolare l'intervallo appropriato. Vorrei avere
Coverage <- function(n, FUN, ...)
...
# interval
int <- FUN(...)
modo da avere una funzione per calcolare la probabilità di copertura piuttosto che una funzione di copertura separata per ciascun metodo di calcolo dell'intervallo. C'è un modo standard per farlo? Non sono stato in grado di trovare una spiegazione.
Grazie, James
Si consiglia di leggere https://github.com/hadle y/devtools/wiki/Programmazione funzionale – hadley
Grazie per il link utile. – jatotterdell