Vous pouvez le faire avec ggplot2
, en utilisant facets
. Quand je lis "Je veux créer une parcelle où les points de données sont groupés comme défini par le facteur", la première chose qui me vient à l'esprit est facets
.
Mais dans ce cas particulier, alternative plus rapide devrait être:
plot(as.numeric(trans.factor), casp6)
et vous pouvez jouer avec des options de terrain après (type
, fg
, bg
...), mais je vous recommande de coller avec ggplot2
, puisqu'il a beaucoup de code propre, une grande fonctionnalité, vous pouvez éviter le surplaqué ... etc
Apprenez comment faire face à des facteurs. Vous avez barplot lors de l'évaluation plot(trans.factor, casp6)
parce que trans.factor
était classe de factor
(ironiquement, vous même dans ce manoir nommé) ... et trans.factor
, en tant que telle, a été déclaré avant une variable continue (numérique) dans la fonction plot()
... par conséquent plot()
"ressent" la nécessité de sous-ensembles de données et de dessiner des boîtes à moustaches en fonction de chaque partie (si vous déclarez une variable continue en premier, vous obtiendrez un graphique ordinaire, n'est-ce pas?). ggplot2
, d'autre part, le facteur interprète d'une manière différente ... comme « un ordinaire », variable numérique (ce qui signifie la syntaxe fournie par Jonathan Chang, vous devez spécifier geom
lorsque vous faites quelque chose plus complexe dans ggplot2
) . Mais supposons que vous ayez une variable continue et un facteur, et que vous souhaitiez appliquer un histogramme sur chaque partie de la variable continue, définie par les niveaux de facteur. C'est là que les choses se compliquent avec les capacités du graphique de base.
# create dummy data
> set.seed(23)
> x <- rnorm(200, 23, 2.3)
> g <- factor(round(runif(200, 1, 4)))
En utilisant des graphiques de base (package:graphics
):
par(mfrow = c(1, 4))
tapply(x, g, hist)
ggplot2 façon:
qplot(x, facets = . ~ g)
Essayez de le faire avec graphics
dans une ligne de code (points-virgules et des fonctions personnalisées sont considérés comme tricherie!):
qplot(x, log(x), facets = . ~ g)
Espérons que je ne t'ai pas ennuyé à mort, mais je t'ai aidé!
Cordialement,
aL3xa
Êtes-vous lié à l'intrigue? Je sais que c'est possible en utilisant ggplot2. – PaulHurleyuk
Pas du tout. Dans quel paquet se trouve ggplot2? – amarillion
Comme Jonathan a répondu, ggplot2 vous laissera faire cela, et vous laissera jitter les points de façon à ce que deux points ne se chevauchent pas s'ils ont la même valeur y. Consultez le site Web de Hadley http://had.co.nz/ggplot2/ – PaulHurleyuk