Ich würde gerne die effizienteste Technik, um ein wiederkehrendes Problem zu lösen wissen.R mehrere Funktionen auf mehreren Spalten basierend auf binäre Spalte Variable
Ich habe viele DBs in Tabelle/CSV-Format, die diese Form haben (0,1 für T/F-Variablen):
id_code, age, heart_disease, weight, gender, operated, survived, ct_scan, days_hospitalized,
1332, 43.2, 1, 213, m, 0, 1, 1, 12
22322, 76.4, 0, 125, f, 1, 0, 0, 45
995, 55, 1, 199, m, 0, 1, 0, 34
Um beim Test auf den kontinuierlichen Variablen in auszuführen, sagen wir, Überlebende gegen Nichtüberlebende:
dann ersetze ich 'überlebte' mit einer anderen Variable und wiederhole.
Um Kontingenz Crosstabs in Überlebenden vs Nicht-Überlebenden zu tun,
myfx2 <- function(x) {xtabs(~mydat$survived+x, data=mydat)}
myfx2(mydat$gender)
myfx2(mydat$operated)
I plyr und Doby versucht haben; Die vielen Beispiele verwenden immer Mittelwert/Varianz oder andere einfache Funktionen, um die Verwendung zu demonstrieren. Was ist der einfachste und effizienteste Weg, um eine große Anzahl von Variablen zu verarbeiten?
Danke - Ich habe dies und Varianten versucht (nachschlagen colwise) wie unten zu sehen. Keine funktioniert. Die Fehler werden mit dem Versuch, gedruckt: 1. colwise (myfx1) (mydat [2]) -> Fehler: is.data.frame (df) ist nicht TRUE 2. colwise (.myfx1, .mydat $ age) -> Fehler in colwise (.myfx1, .mydat $ age): Objekt '.age' nicht gefunden – CLS
3. colwise (.myfx1, mydat $ age) -> Funktion (df, ...) { stopifnot (is.data.frame (df)) df <- strip_splits (df) gefiltert <- Filter (df) if (Länge (gefiltert) == 0) return (data.frame()) df <- quickdf (lapply (gefiltert, .fun, ...)) Namen (df) <- Namen (gefiltert) df } 4. colwise (myfx1, mydat $ age) gleiche Fehler wie 3 4. colwise (myfx1) (mydat [, Alter]) -> Fehler in '[ .data.frame' (mydat,, Alter): Objekt 'Alter' nicht gefunden 5. colwise (myfx1) (mydat [, mydat $ age]) -> Fehler in '[.data.frame' (mydat, , mydat $ age): undefinierte Spalten ausgewählt –
CLS
6. ddply (mydat, .age, colwise (myfx1)) -> "Fehler in t.test.default ((x), NEC $ überlebte): nicht genug 'x 'Beobachtungen Zusätzlich: Warnmeldung: In mean.default (x): argume nt ist nicht numerisch oder logisch: Rückgabe von NA " 7. ddply (mydat,, colwise (myfx1, alter)) 8. ddply (mydat,, colwise (myfx1, .age)) – CLS