Mit ggfortify und ggrepel für pca

Ich bin mit einer Hauptkomponentenanalyse mit varimax-rotation und anzeigen wollen, die Handlung, die scheint einfach genug, aber meine be-Vektoren sind an einigen stellen sehr eng und die Etiketten von dem Faktor, Sie neigen dazu, sich zu überschneiden. Das ist, wo ggrepel kommt, um sich zu trennen die Etiketten. Mein dilemma ist nun, herauszufinden, wie die Verbindung der beiden. Ich benutzte auto-plot, die fügt automatisch den gewünschten text ein und es ist so dass es schwierig zu definieren, welcher text zu stoßen. Möglicherweise gibt es andere Möglichkeiten, und ich bin offen für Anregungen. Ich habe meinen code, der funktioniert hat aber überlappen, und einer meiner versuche, stoßen Sie den code unten.

autoplot(prcomp(built.df9),
loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE, 
loadings.label.size = 4, loading.label.color = 'red') +
ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built 
Environment Indicators") +
geom_text_repel(aes(label = rownames(prcomp(built.df9))))

Mit ggfortify und ggrepel für pca

autoplot(prcomp(built.df9),
loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE, 
loadings.label.size = 4, loading.label.color = 'red') +
ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built 
Environment Indicators")
InformationsquelleAutor E. Nicholson | 2017-06-23



2 Replies
  1. 2

    Können Sie loadings.label.repel=T von der ggfortify Paket.

    In diesem Beispiel verwendet denselben code, nur mit der mtcars dataset.

    Ohne abgestoßen labels:

    library(ggplot2)
    library(ggfortify)
    
    autoplot(prcomp(mtcars),
             loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE, 
             loadings.label.size = 4, loading.label.color = 'red') +
      ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built 
              Environment Indicators") 

    Mit ggfortify und ggrepel für pca

    Mit abgestoßen labels:

    autoplot(prcomp(mtcars),
             loadings = TRUE, loadings.colour = 'blue', loadings.label = TRUE, 
             loadings.label.size = 4, loading.label.color = 'red',loadings.label.repel=T) +
      ggtitle(label = "Principal Component Analysis and Varimax Rotation for Built 
              Environment Indicators") 

    Mit ggfortify und ggrepel für pca

    • Vielen Dank J. Con es löste mein problem sofort!
  2. 0

    Du zur Verfügung gestellt hast keine Daten, um diese reproduzierbar, jedoch müssen Sie möglicherweise mehr Glück mit dem Paket, ggbiplot.

    library(ggbiplot)
    
    data(mtcars)
    
    standardised<-as.data.frame(scale(mtcars[2:ncol(mtcars)]))
    
    mtcars.pca<-prcomp(standardised,retx=TRUE)
    
    ggbiplot(mtcars.pca, obs.scale=1, var.scale=1,  ellipse=F, circle=F,labels.size = 4)

    Mit ggfortify und ggrepel für pca

    • Ich habe den Versuch gemacht zu verwenden, die ggbiplot aber ich bin mit R version 3.4.1 beta und es ist nicht verfügbar. Wenn ich versuche das Paket zu installieren, bekomme ich die Antwort: > install.packages("ggbiplot") Installing package into ‘C:/Users/efn1/R Library’ (as ‘lib’ is unspecified) Warning in install.packages : package ‘ggbiplot’ is not available (for R version 3.4.1 beta)
    • Okay. Können Sie uns die Ausgabe von dput(built.df9) in Ihrer Frage, um diese reproduzierbar?
    • Kann ich nicht die dput, weil der Ertrag zu groß ist, um in dem Beispiel. Ich entschuldige mich über die Schwierigkeit, Sie zu reproduzieren, aber mein Datensatz ist Recht groß.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.