2016-03-23 1 views
0

Je suis en train de créer un dotplot simple (lattice package) dans R avec la trame de données suivantes:Deux regroupement variables dans un dotplot

df<-data.frame(Sediment=c("Algae", "Algae", "Algae", "Bare", "Bare", "Bare", "Dredged", "Dredged", "Dredged"), Rep=c(1,2,3,1,2,3,1,2,3), LeafElongation=c(0, 20.6, 0, 29.1, 41.4, 45.9, 54.1, 22.3, 26.7)) 

Je voudrais utiliser des couleurs de marqueurs pour regrouper les données par les sédiments et . formes de marqueurs aux données du groupe par le représentant Ceci est mon code à ce jour:

dotplot(LeafElongation~Sediment, data=df, groups=Sediment, method="jitter", col = 
     c("darkolivegreen", "darkgoldenrod3", "sienna"), main= "Leaf Elongation: Ramet Plots", ylab="Average total plant leaf elongation (cm)", cex.main=1.7, cex.lab=1.2, cex.axis=1.7) 

J'ai regroupé avec succès mes données par les sédiments, ce qui est généralement la façon dont je voudrais l'intrigue apparaître, mais je voudrais avoir une forme différente pour chaque Rep (cercles pour 1, diamants pour 2, t riangles pour 3). Je voudrais aussi que les formes soient remplies plutôt qu'ouvertes. De plus, je crois que la méthode jitter est censée séparer les points qui se chevauchent afin que les deux puissent être vus, mais cela ne semble pas fonctionner dans ce cas.

Répondre

0

L'argument pch est ce que vous recherchez. Ajoutez-le simplement à votre code et alimentez-le directement avec df$Rep. Vous pouvez supprimer l'argument groups, qui est maintenant inutile.

dotplot(LeafElongation~Sediment, data=df, 
    method="jitter", 
    col = c("darkolivegreen", "darkgoldenrod3", "sienna"), 
    main= "Leaf Elongation: Ramet Plots", 
    ylab="Average total plant leaf elongation (cm)", 
    cex.main=1.7, cex.lab=1.2, cex.axis=1.7, 
    pch = df$Rep) 
0

Vous pouvez ajouter ceci comme argument supplémentaire à votre dotplot pour le grouper par forme. pch = c(16, 17, 18)[df$Rep]

Vous pouvez échanger sur 16, 17, 18 pour toutes les autres formes selon ce guide: http://www.endmemo.com/program/R/pchsymbols.php

+0

J'ai ajouté cet argument juste avant l'argument de couleur et il a rempli mes points, mais n'a pas encore modifié leur forme. Dois-je aussi ajouter "Rep" au début du code quelque part? – user507

+0

Peu importe, j'ai résolu le problème. Vous devez supprimer l'argument "groups" et créer un argument de couleur pour Sediment de la même manière que vous l'avez suggéré. – user507