in r, donné un vecteur et un facteur: p> Je veux créer une parcelle où les points de données sont groupés comme défini par le facteur. De sorte que les catégories doivent être sur l'axe des x, les valeurs de la même catégorie doivent avoir la même coordonnée x. P> simplement faire tracé (trans.factor, CASP6) code> fait presque quoi Je veux, cela produit un boxplot, mais je veux voir les points de données individuels. P> p>
7 Réponses :
require(ggplot2) qplot(trans.factor, casp6)
Vous pouvez le faire avec Mais dans ce cas particulier, une alternative plus rapide devrait être la suivante: p> et vous pouvez lire avec les options de tracé ( Découvrez comment faire face à des facteurs. Vous avez la barlette lors de l'évaluation de mais, présuppose que vous avez une variable continue et Facteur, et vous souhaitez appliquer l'histogramme sur chaque partie de variable continue, définie par des niveaux de facteur. C'est là que les choses deviennent compliquées avec les capacités de graphique de base. P> à l'aide de graphiques de base ( ggplot2 code>, en utilisant
facettes code>. Lorsque je lis ", je veux créer un complot où les points de données sont regroupés tels que définis par le facteur" em>, la première chose qui me suis venu à mon esprit était
facettes code>.
type code>,
fg ,
BG CODE> ...), mais je vous recommande de coller avec
ggplot2 code>, puisqu'il a beaucoup de code nettoyant, de grandes fonctionnalités, vous pouvez éviter de surcharger ... etc. c. p>
tracé (trans.Factor, CASP6) code> "Cause
trans.factor code> était la classe de
facteur code> (ironiquement, vous l'avez même nommé dans un tel manoir) ... et
trans.factor code>, comme tel, a été déclaré
tracé () code> fonction ... Par conséquent
Terrain () Code> "Sent" La nécessité de sous-ensemble Data et de dessiner BoîtePlot en fonction de chaque pièce (si vous déclarez une variable continue en premier, vous obtiendrez un graphique ordinaire, non?).
ggplot2 code>, d'autre part, interprète facteur d'une manière différente ... comme "un ordinaire" em>, variable numérique (ceci signifie la syntaxe fournie par Jonathan Chang em>, vous devez spécifier
geom code> lorsque vous faites quelque chose de plus complexe dans
ggplot2 code>). p>
package: graphiques code>): p>
qplot(x, log(x), facets = . ~ g)
Vous pourrez peut-être vous rapprocher de ce que vous voulez utiliser des graphiques de réseau en faisant:
Je pense qu'il y a une meilleure solution (je l'ai écrit pour un atelier il y a quelques jours), mais cela a glissé mon esprit. Voici un substitut moche avec des graphiques de base. N'hésitez pas à annoter l'axe X ad libitum em>. Personnellement, j'aime la solution de Greg. plot(0, 0, xlim = c(1, 4), ylim = range(casp6), type = "n")
points(casp6 ~ trans.factor)
Je trouve la solution suivante: simple et direct. p> (Reportez-vous par exemple à
aucun paquet supplémentaire nécessaire strong> Je suis un peu en retard à la fête, mais j'ai constaté que vous pouvez obtenir le résultat souhaité très facilement avec la fonction de parcelle standard - convertir simplement le facteur à une valeur numérique: p>
Question de 10 ans ... mais si vous voulez une solution de base Neat R:
plot(trans.factor, casp6, border=NA, outline=FALSE) points(trans.factor, casp6)
Êtes-vous attaché à l'intrigue? Je sais que c'est possible en utilisant ggplot2.
Pas du tout. Dans quel paquet est ggplot2?
Comme Jonathan a répondu, GGPLot2 vous permettra de faire cela, plus vous laisser gêner les points de sorte que deux points se chevauchent les uns des autres s'ils ont la même valeur y. Découvrez le site web de Hadley HAD.CO.NZ/GGPLOT2
Merci pour le lien, c'est vraiment utile.