Wie kann ich eine Faktorstufe durch die obersten n Ebenen (um eine Metrik) plus [andere] ersetzen?

8

Für einen Faktor mit mehr als einer vernünftigen Anzahl von Ebenen, um in einem Graphen einzufärben, möchte ich alle Ebenen, die nicht in den 'Top 10' sind, durch 'Andere' ersetzen.

Alternative Frage: Wie reduziere ich meine Faktorstufen auf die Zahl, die rcolbrewer als separate Farben darstellen kann?

Wenn ich beispielsweise die Anzahl der Homeruns pro Dekade aus den Baseballdaten plotten möchte:

%Vor%

Vielleicht würde ich gerne sehen, welche Teams dazu beigetragen haben:

%Vor%

Dies erzeugt zu viele Farbstufen! Die Farben sind so ähnlich, dass man sie nicht unterscheiden kann, und es gibt so viele, dass sie nicht auf den Bildschirm passen.

Ich würde wirklich gerne die obersten X (7) Teams sehen (nach der Gesamtzahl der Homerun) und dann den Rest alle in einer einzigen Kategorie / Farbe zusammenfassen, die "andere" genannt wird.

Stellen wir uns vor, wir haben eine Funktion namens hotfactor , die weiß, wie man das macht:

%Vor%

Was kann ich für 'hotfactor' verwenden?

    
Alex Brown 13.07.2011, 02:55
quelle

1 Antwort

8

Nachdem ich mehrere Iterationen durchlaufen und im Internet gesucht habe, habe ich diese nette kurze erstellt.

%Vor%

Es ist großartig, um Daten zusammenzufassen, und Sie können damit auf die großen Farb-Brauer-Farbschemata zugreifen (die jeweils eine begrenzte Anzahl sorgfältig ausgewählter Farben haben).

Hinweise zur Verwendung:

fac sollte ein Faktor sein und funktioniert am besten ohne leere Faktorstufen. Vielleicht möchten Sie droplevels(as.factor(mydata)) zuerst ausführen.

Es sortiert die Faktorstufen nicht . Für optimale Ergebnisse in Barcharts sollten Sie den folgenden Faktor für den Ausgabefaktor verwenden.

%Vor%     
Alex Brown 13.07.2011, 02:56
quelle

Tags und Links