PCA-Multiplizierer in R

8

Ich habe ein Dataset, das so aussieht:

%Vor%

Es wird in einer Datei data.txt gespeichert.

Ich möchte ein PCA-Multiplot haben, das so aussieht:

Was ich mache:

%Vor%

Danach bin ich verloren.

Wie kann ich den Datensatz nach den PCA-Projektionen zusammenfassen und ähnliche Bilder wie oben erhalten?

    
Angelo 18.06.2014, 09:38
quelle

1 Antwort

11

Sie stellen tatsächlich zwei verschiedene Fragen:

  1. Wie die Daten nach PCA-Projektionen gruppiert werden.
  2. So erhalten Sie die obigen Diagramme.

Aber bevor ich zu denen komme, möchte ich hinzufügen, dass, wenn Ihre Proben in Spalten sind, Sie PCA nicht richtig machen. Sie sollten es stattdessen auf transponiertem Dataset tun:

%Vor%

Damit das funktioniert, müssen Sie jedoch alle konstanten Zeilen in Ihren Daten entfernen.

Nun gehe ich davon aus, dass Sie Ihren PCA Schritt getan haben, wie Sie wollten.

prcomp gibt die gedrehte Matrix zurück, wenn Sie retX = TRUE angeben (das ist standardmäßig true). Sie werden also model$x verwenden wollen.

Ihr nächster Schritt ist das Clustering der Daten basierend auf Hauptkomponenten. Dies kann auf verschiedene Arten geschehen. Eines ist hierarchisches Clustering. Wenn Sie am Ende 5 Gruppen haben wollen, gibt es einen Weg:

%Vor%

In diesem Schritt erhalten Sie Gruppen, die später zum Ausmalen verwendet werden.

Der letzte Schritt ist das Plotten. Hier schrieb ich eine einfache Funktion, um alles auf einmal zu machen:

%Vor%

Diese Funktion ist einfach: Sie benötigt zwei Argumente: 1) eine Matrix aus Scores mit Hauptkomponenten in Spalten und Ihren Samples in Zeilen. Sie können grundsätzlich das Modell $ x [, c (1,2,4)] verwenden, wenn Sie (zum Beispiel) die Komponenten 1, 2 und 4 haben möchten. 2) Anzahl der Gruppen für Clustering.

Dann clustert es die Daten basierend auf übergebenen Hauptkomponenten und Plots (entweder 2D oder 3D abhängig von der Anzahl der übergebenen Spalten)

Hier sind einige Beispiele:

%Vor%

Und 3D-Beispiel (basierend auf 3 ersten Hauptkomponenten):

%Vor%

Dieser letzte Plot wird interaktiv sein, so dass Sie ihn drehen oder vergrößern / verkleinern können.

Hoffe, das hilft.

    
Karolis Koncevičius 21.11.2014 22:01
quelle

Tags und Links