Recomendación de gráficos multivariados para R
-
29-10-2019 - |
Pregunta
¿Podría recomendar la mejor manera de visualizar datos con cuatro variables en cualquiera de los paquetes R disponibles?
A saber, tengo dos variables categóricas (poblaciones (12) y caracteres (50)) y dos variables continuas (media y coeficiente de variación de cada medida de longitud de carácter para 100 individuos (filas en una matriz)).Así que es básicamente un gráfico dimensional de 12x50x100x100.
¿Alguna sugerencia?
Solución
Trazaría las variables primero una por una, luego juntas, empezando por toda la población y progresivamente dividiendo los datos en varios grupos.
# Sample data
n1 <- 6 # Was: 12
n2 <- 5 # Was: 50
n3 <- 10 # Was: 100
d1 <- data.frame(
population = rep(LETTERS[1:n1], each=n2*n3),
character = rep(1:n2, each=n3, times=12),
id = 1:(n1*n2*n3),
mean = rnorm(n1*n2*n3),
var = rchisq(n1*n2*n3, df=5)
)
# Not used, but often useful with ggplot2
library(reshape2)
d2 <- melt(d1, id.vars=c("population","character","id"))
# Look at the first variable
library(lattice)
densityplot( ~ mean, data=d1 )
densityplot( ~ mean, groups=population, data=d1 )
densityplot( ~ mean | population, groups=character, data=d1 )
# Look at the second variable
densityplot( ~ var, data=d1 )
densityplot( ~ var, groups=population, data=d1 )
densityplot( ~ var | population, groups=character, data=d1 )
# Look at both variables
xyplot( mean ~ var, data=d1 )
xyplot( mean ~ var, groups=population, data=d1 )
xyplot( mean ~ var | population, groups=character, data=d1 )
# The plots may be more readable with lines rather than points
xyplot(
mean ~ var | population, groups = character,
data = d1,
panel = panel.superpose, panel.groups = panel.loess
)
Otros consejos
Consider lattice
if you want to plot a series of "slices" along one dimension or another of your data.
Why not pop on over to http://addictedtor.free.fr/graphiques/ and see if someone's written some code to create the kind of graph you want?