Raccomandazione grafica multivariata per R
-
29-10-2019 - |
Domanda
Potresti consigliare il modo migliore per visualizzare i dati con quattro variabili in uno qualsiasi dei pacchetti R disponibili.
Vale a dire, ho due variabili categoriali (popolazioni (12) e caratteri (50)) e due variabili continue (media e coefficiente di variazione di ciascuna misurazione della lunghezza dei caratteri per 100 individui (righe in una matrice)).Quindi è fondamentalmente un grafico dimensionale 12x50x100x100.
Qualche suggerimento?
Soluzione
Tracciai le variabili prima una per una, poi insieme, a partire da tutta la popolazione e progressivamente suddividendo i dati nei vari gruppi.
# 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
)
Altri suggerimenti
Considera lattice
se si desidera tracciare una serie di "fette" lungo una dimensione o un altro dei tuoi dati.
Perché non pop on to http://addictedder.free.fr/graphiques/ e vedi se qualcunoscritto un codice per creare il tipo di grafico che desideri?