superponer - R: ¿Cómo coloco dos diagramas de caja uno al lado del otro, manteniendo el mismo rango de y para ambos?
superponer graficas en r ggplot (1)
Digamos que tengo dos conjuntos de datos, uno con rango y [min0: max0] y el otro con rango y [min1: max1]. ¿Cómo se pueden poner ambas gráficas de caja en una gráfica una al lado de la otra con un rango sano y [min (min0, min1): max (max0, max1)]?
Esto es lo que intenté:
d0 <- matrix(rnorm(15), ncol=3)
d1 <- matrix(rnorm(15), ncol=3)
par(mfrow = c(1, 2))
boxplot(d0)
usr <- par("usr")
plot.new()
par(usr = usr)
boxplot(d1, add = TRUE)
Pero eso solo mantendrá las primeras parcelas y-range y también las apretará, mientras que me gustaría que fueran cuadradas.
¿Algunas ideas?
d0 <- matrix(rnorm(15), ncol=3)
d1 <- matrix(rnorm(15), ncol=3)
# Using base R graphics
lmts <- range(d0,d1)
par(mfrow = c(1, 2))
boxplot(d0,ylim=lmts)
boxplot(d1,ylim=lmts)
También es posible que desee pensar en una forma de hacerlo mediante gráficos de cuadrícula, ya sea por los paquetes de lattice
o ggplot2
.
Aquí hay un intento en ggplot2:
# Using ggplot2
library(ggplot2)
d <- data.frame(d.type=c(rep(0,15),rep(1,15)),sub.type=rep(c(''A'',''B'',''C''),10),val=rnorm(30))
p <- ggplot(d, aes(factor(sub.type), val))
p + geom_boxplot() + facet_grid(. ~ d.type)
Y en celosía:
# Using lattice
library(lattice)
bwplot(~ val|sub.type+d.type ,d)
Observe cómo las soluciones basadas en cuadrícula evitan que tenga que especificar límites; Usted especifica la estructura y el software hace el resto.