2016-06-16 12 views
1

Ich erstelle eine PCA in dem folgenden Beispiel, ich weiß, um das Diagramm zu variieren das Symbol nach einer anderen Variablen (ich habe gerade eine Reihe von Zonen von 1 verwendet zu 5 zum Beispiel).Angeben und Zeichnen von PCA-Site-Symbolen nach Zone

Ich würde gerne wissen, wie Sie auch das Plotten Symbol für jede Zone angeben, da ich die Standard nicht mag.

Hier ist mein Beispiel:

## load vegan 

require("vegan") 

## load the Dune data 
data(dune) 

## run pca 
dune_pca <- rda(dune) 

## create zones for e.g. 
zone <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5) 

## plot blank PCA and add sites with 
## symbol varying accoring to zone 
plot(dune_pca, type = "n", scaling = 3) 
points(dune_pca, display = "sites", scaling = 3, pch = zone) 
+0

'help („Punkte“)' gibt Ihnen eine Liste von Symbole und ihre entsprechenden Zahlen. Stellen Sie nur sicher, dass Ihre Zonen diese Zahlen haben (wenn Sie also einen vollständigen schwarzen Trinagle für Ihre erste Zone wünschen, verwenden Sie in Ihrem Zonenvektor 17 statt 1). – scoa

+0

danke für deine hilfe, ich hatte nicht erkannt, dass pch meine zone-nummern buchstäblich als die symbol-integer anstatt als die ersten 5-symbole nahm - das ist nützlich zu wissen. Gibt es eine schnelle Möglichkeit, die Zonennummern durch die gewünschte Symbolnummer zu ersetzen? – steve24

+0

'as.numeric (as.character (Faktor (zone, levels = 1: 5, labels = c (12,14,17,21,22))))' (mit zufälliger PCH-Nummer als Label) – scoa

Antwort

1

ich einen Vektor der Charaktere machen würde ich will und diese dann Teilmenge von Zone

zone_pch <- c(16, 10, 3, 8, 2) 
plot(dune_pca, type = "n", scaling = 3) 
points(dune_pca, display = "sites", scaling = 3, pch = zone_pch[zone])