Usted puede hacerlo con ggplot2
, utilizando facets
. Cuando leo "Quiero crear un gráfico donde los puntos de datos se agrupen como lo define el factor", lo primero que se me vino a la mente fue facets
.
Pero en este caso particular, alternativa más rápida debería ser:
plot(as.numeric(trans.factor), casp6)
y se puede jugar con las opciones gráficas que después (type
, fg
, bg
...), pero recomiendo quedarse con ggplot2
, ya que tiene un código mucho más limpio, una gran funcionalidad, puede evitar sobrerrollar ... etc. etc.
Aprenda a lidiar con los factores. Tienes barplot al evaluar plot(trans.factor, casp6)
porque trans.factor
era la clase de factor
(irónicamente, incluso se dio el nombre de tal Manor) ... y trans.factor
, como tal, fue declarado antes una variable continua (numérico) dentro de la función plot()
... por lo tanto, plot()
"siente" la necesidad de subconjuntos de datos y dibujar un diagrama de caja basado en cada parte (si declara la variable continua primero, obtendrá un gráfico ordinario, ¿no?). ggplot2
, por el contrario, interpreta el factor de una manera diferente ... como , variable numérica "un ordinario" (esto significa sintaxis proporcionada por Jonathan Chang, debe especificar geom
cuando se hace algo más complejo en ggplot2
) .
Pero, supongamos que tiene una variable continua y un factor, y desea aplicar un histograma en cada parte de la variable continua, definida por niveles de factor. Aquí es donde las cosas se vuelven complicadas con las capacidades del gráfico base.
# create dummy data
> set.seed(23)
> x <- rnorm(200, 23, 2.3)
> g <- factor(round(runif(200, 1, 4)))
Mediante el uso de gráficos de base (package:graphics
):
par(mfrow = c(1, 4))
tapply(x, g, hist)
ggplot2 manera:
qplot(x, facets = . ~ g)
intenta hacer esto con graphics
en una línea de código (punto y coma y funciones personalizadas se consideran ¡trampa!):
qplot(x, log(x), facets = . ~ g)
¡Ojalá no te haya aburrido hasta la muerte, pero te ayudé!
Saludos cordiales,
aL3xa
¿Está vinculado a la trama? Sé que esto es posible usando ggplot2. – PaulHurleyuk
No, en absoluto. ¿En qué paquete está ggplot2? – amarillion
Como Jonathan ha respondido, ggplot2 te permitirá hacer esto, además te permite agitar los puntos para que no se superpongan dos puntos si tienen el mismo valor de y. Visite el sitio web de Hadley http://had.co.nz/ggplot2/ – PaulHurleyuk