Passar fórmula para funcionar em R?
Qualquer ajuda com isso seria muito apreciada. Eu estou usando o pacote de pesquisa Lumley e estou tentando simplificar meu código, mas tenho um pequeno problema.
A função svymean do pacote é chamada como segue no meu código, onde o primeiro argumento é uma fórmula que indica quais variáveis eu quero, e o segundo argumento é esse conjunto de dados:
svymean(~hq_ehla, FraSvy, na.rm=TRUE)
Eu estou tentando criar uma função que irá retirar a média (proporções) e erros padrão para variáveis categóricas, então eu fiz a seguinte função:
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))
}
Isso funciona, por isso, quando estou retirando a média e a primeira categoria, por exemplo, eu uso:
stats(svymean(~hq_ehla, FraSvy, na.rm=TRUE), 1)$mean
stats(svymean(~hq_ehla, FraSvy, na.rm=TRUE), 1)$se
O que eu gostaria de poder fazer é simplificar isso para algo muito mais curto, onde talvez eu tivesse que escrever:
stats(FraSvy, "hq_ehla", 1)$mean
Ou algo assim. O problema é que não consigo descobrir como passar uma fórmula para uma função usando um nome de variável.