Pass-Formel, um eine Funktion in R?

Jede Hilfe bei diesem würde sehr geschätzt. Ich bin mit dem Lumley-Umfrage Paket-und versuche zu vereinfachen mein code, aber getroffen haben eine leichte Haken.

Den svymean Funktion aus dem Paket wie folgt aufgerufen wird, in meinem code, wobei das erste argument ist eine Formel, die angibt, welche Variablen ich will, und das zweite argument ist, dass dataset:

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

Ich versuche, eine Funktion erstellen, die das herausziehen der Mittelwert (Anteile) und Standardfehler für kategoriale Variablen, also habe ich die folgende Funktion:

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))
}

Das funktioniert, also wenn ich das herausziehen der Mittelwert und se von meinem ersten Kategorie, verwende ich zum Beispiel:

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

Was ich möchte in der Lage sein zu tun ist, vereinfacht dies etwas viel kürzer, wo würde ich vielleicht nur noch schreiben:

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

Oder so ähnlich. Problem ist, dass ich kann nicht herausfinden, wie übergeben Sie eine Formel auf eine Funktion mit einer Variablen-Namen.

InformationsquelleAutor RickyB | 2013-02-03
Schreibe einen Kommentar