Nehmen wir an, mat_pages [] enthält Seiten in den Spalten (die Sie zu Clustern zusammenfassen möchten) und Einzelpersonen in den Zeilen. Mit dem folgenden Befehl können Sie Seiten basierend auf einzelnen Daten in Rby gruppieren:
pc <- prcomp(x=mat_pages,center=TRUE,scale=TRUE)
Die Ladematrix ist die Matrix der Eigenvektoren der SVD-Zerlegung der Daten. Sie geben das relative Gewicht jeder SEITE bei der Berechnung der Punktzahlen an. Belastungen mit größeren absoluten Werten haben einen größeren Einfluss auf die Bestimmung der Bewertung der entsprechenden Hauptkomponente.
Ich möchte jedoch auch auf das kurze Problem hinweisen, das mit der Verwendung von PCA zum Clustering von Seiten verbunden ist. Der Grund dafür ist, dass Ladungen den SEITEN mit höheren Abweichungen ein größeres Gewicht verleihen, unabhängig davon, ob diese Abweichung tatsächlich auf den SEITEN-Inhalt oder auf einen anderen Grund zurückzuführen ist (es kann sich um technische oder individuelle Abweichungen handeln). Die Ladungen spiegeln nicht unbedingt die wahren Unterschiede zwischen den Gruppen wider, die (vielleicht) Ihr Hauptinteresse sind. ABER diese Gruppierung spiegelt wirklich die Unterschiede in der Gruppe unter der Annahme wider, dass alle Seiten die gleiche Varianz aufweisen (ich weiß nicht, ob dies eine gültige Annahme ist).
Wenn Sie über leistungsstarke Rechenfunktionen verfügen (was aufgrund Ihrer Datengröße möglich sein kann), ist die Verwendung hierarchischer Modelle möglicherweise eine gute Idee. In R kann dies mit dem Paket lme4 erfolgen.
Was tun, nachdem Sie die Punktzahlen haben?
Dies ist ein grober Vorschlag, und die Analyse hängt stark davon ab, wie die Daten aussehen. Außerdem würde ich vermuten, dass dieser Prozess höchst unmöglich ist, um die Daten der Größenordnung, die Sie haben, zu gruppieren.
pc.col <- paste("page", 1:27000, sep=".")
pdf("principle-components.pdf")
plot(pc$x[,1:2]) ## Just look at the 1st two loadings (as you can see the groupings in a plane)
dev.off()
Hoffentlich können Sie auf diese Weise ein Bild davon erhalten, wie die Daten gruppiert sind.
Achtung: Dies ist nicht das, was ich empfehlen würde.
Meine Empfehlung:
Probleme wie diese treten häufig in der Genomik auf. Ihre Fallseiten entsprechen Genen und Individuen entsprechen Patienten (im Grunde genommen hat Individuen dieselbe Bedeutung wie in der Genomik).
Sie möchten die Seiten basierend auf Daten gruppieren.
Sie können in R viele Clustering-Pakete verwenden, auf die in anderen Antworten verwiesen wurde. Ein grundlegendes Problem bei Paketen ist wie bei hclust, wie die Anzahl der Cluster bestimmt wird. Einige meiner Favoriten sind:
- pvclust (Gibt Ihnen Cluster und gibt auch einen p-Wert für jeden Cluster an. Mit dem p-Wert können Sie die statistisch signifikanten Cluster bestimmen. Problem : Benötigt viel Rechenleistung und ich bin nicht sicher, ob es mit Ihren Daten funktioniert Größe)
- hopach (Gibt die geschätzte Anzahl der Cluster und der Cluster an.)
- In Bioconductor sind weitere Pakete verfügbar. Überprüfen Sie diese in der Task-Ansicht.
Sie können auch Clustering-Algorithmen wie k-means usw. verwenden. Ich bin sicher, dass ich in diesem Forum einen Thread zum Thema Clustering gesehen habe. Die Antworten waren sehr detailliert. Es wurde von Tal Galili gefragt, ob ich mich richtig erinnere.