¿Pasa la fórmula para funcionar en R?

Cualquier ayuda con esto sería realmente apreciada. Estoy usando el paquete de encuestas de Lumley y estoy tratando de simplificar mi código, pero he tenido un pequeño problema.

La función svymean del paquete se llama de la siguiente manera en mi código, donde el primer argumento es una fórmula que indica qué variables quiero, y el segundo argumento es ese conjunto de datos:

svymean(~hq_ehla, FraSvy, na.rm=TRUE)

Estoy tratando de crear una función que extraiga la media (proporciones) y los errores estándar para las variables categóricas, por lo que hice la siguiente función:

stats <- function(repstat, num) {
    estmean <- as.numeric(round(100 * repstat[num], digits=0))
    estse <- round(100 * sqrt(attributes(repstat)$var[num,num]), digits=1)
    return(list(mean=estmean, se=estse))
}

Esto funciona, así que cuando saco la media y el se de mi primera categoría, por ejemplo, uso:

stats(svymean(~hq_ehla, FraSvy, na.rm=TRUE), 1)$mean
stats(svymean(~hq_ehla, FraSvy, na.rm=TRUE), 1)$se

Lo que me gustaría poder hacer es simplificar esto a algo mucho más corto, donde tal vez solo tendría que escribir:

stats(FraSvy, "hq_ehla", 1)$mean

O algo así. El problema es que no puedo averiguar cómo pasar una fórmula a una función usando un nombre de variable.

Respuestas a la pregunta(2)

Su respuesta a la pregunta