R - wie man PCA-Biplot lesbarer macht

9

Ich habe eine Reihe von Beobachtungen mit 23 Variablen.

Wenn ich prcomp und biplot verwende, um die Ergebnisse zu plotten, stoße ich auf einige Probleme:

  1. das tatsächliche Diagramm nimmt nur die Hälfte des Rahmens ein (x & lt; 0), aber das Diagramm ist auf 0 zentriert, so dass die Hälfte des Raums verschwendet wird

  2. zwei Variablen dominieren klar die Ergebnisse, also sind alle anderen Pfeile verklumpt und ich kann nichts lesen

ad 1. Ich habe versucht, xlim und / oder ylim einzustellen, aber ich mache offensichtlich etwas falsch, da die Handlung alles durcheinander ist, wenn ich es mache

ad 2. Kann ich irgendwie die Pfeilbeschriftungen etwas auseinander schieben, damit ich sie lesen kann? Oder könnte ich einfach die Pfeile ohne die beiden längsten Pfeile (Art von Zoom-in) zeichnen?

Nachtrag: Ist es möglich, dass ein Doppeldecker die Etiketten in einer anderen Farbe als die Pfeile zeichnet?

Außerdem: ist es problematisch, wenn die x- und y-Achsen nicht proportional sind (sie zeigen Intervalle unterschiedlicher Länge auf x und y). Ich denke, das würde die Engel zwischen den Pfeilen verzerren, und diese Art der Größenänderung ist keine Ähnlichkeitsumwandlung. Ist es möglich, Biplot zu zwingen, ein Seitenverhältnis von 1: 1 beizubehalten oder die Zeichnung als Rechteck und nicht als Quadrat zu zeichnen?

    
Jakub Bochenski 11.06.2013, 23:07
quelle

1 Antwort

20

Ich denke, Sie können xlim und ylim verwenden. Sehen Sie sich auch das Argument expand für ?biplot an. Leider haben Sie keine Daten zur Verfügung gestellt, also nehmen wir einige Beispieldaten:

%Vor%

Unter dem Ergebnis des Aufrufs von biplot :

%Vor%

Und jetzt kann man "hineinzoomen", um "Mord" und "Vergewaltigung" mit xlim und ylim näher zu betrachten und auch das Skalierungsargument expand von ?biplot :

%Vor%

Bitte beachten Sie die unterschiedliche Skalierung auf der oberen und rechten Achse aufgrund des expand -Faktors.

Hilft das, um Ihre Handlung besser lesbar zu machen?

BEARBEITEN

Sie haben auch gefragt, ob für Etiketten und Pfeile unterschiedliche Farben möglich sind. biplot unterstützt dies nicht, was Sie tun könnten ist, den Code von stats:::biplot.default zu kopieren und dann entsprechend Ihren Bedürfnissen zu ändern (ändern Sie col Argument, wenn plot , axis und text verwendet wird) .

Alternativ können Sie ggplot für den Biplot verwenden. Im Post hier ist eine einfache Biplot-Funktion implementiert. Sie können den Code wie folgt ändern:

%Vor%

Zeichnen Sie wie folgt:

%Vor%

Wenn Sie mit dieser Funktion etwas herumspielen, können Sie sicher herausfinden, wie Sie die Werte für xlim und ylim einstellen.

    
user1981275 12.06.2013, 12:14
quelle

Tags und Links