Wie werden Median-Splits innerhalb von Faktorstufen in R durchgeführt?

8

Hier mache ich eine neue Spalte, um anzuzeigen, ob myData über oder unter seinem Median liegt

%Vor%

Funktioniert gut. Nun möchte ich dasselbe tun, aber die mittleren Splits innerhalb jeder Ebene von myFactor berechnen.

Ich habe das erfunden:

%Vor%

byOutput enthält was ich will. Es kategorisiert jedes Element der Faktoren A, B und C korrekt. Ich möchte jedoch eine neue Spalte, myDataFrame $ FactorLevelMedianSplit, erstellen, die die neu berechnete Median-Aufteilung anzeigt.

Wie konvertiert man die Ausgabe des "by" -Befehls in eine nützliche Datenrahmenspalte?

Ich denke, vielleicht ist der "by" -Befehl kein R-artiger Weg, dies zu tun ...

Aktualisieren :

Mit Thierrys Beispiel, wie man factor () geschickt einsetzt, und nachdem ich die "ave" -Funktion in Spectors Buch entdeckt habe, habe ich diese Lösung gefunden, die keine zusätzlichen Pakete benötigt.

%Vor%     
Dan Goldstein 11.08.2009, 11:45
quelle

2 Antworten

3

Hier ist eine Lösung mit dem plyr-Paket.

%Vor%     
Thierry 11.08.2009, 14:22
quelle
1

Hier ist ein hack-ish Weg. Hadley könnte etwas eleganteres mit sich bringen:

Um zu beginnen, verketten wir einfach die by Ausgabe:

%Vor%

Und was zählt, dass wir hier die Faktorstufen 1 und 2 erhalten, mit denen wir einen neuen Faktor mit diesen Ebenen neu indizieren können:

%Vor%

was wir dann der data.frame zuweisen können, die Sie ändern wollten:

%Vor%

Update : Es macht nichts, dass wir myDataFrame neu indizieren müssen, um A A ... A B ... B C ... C zu sortieren, bevor wir die neue Spalte hinzufügen. Links als Übung ...

    
Dirk Eddelbuettel 11.08.2009 12:37
quelle

Tags und Links