¿Es posible trazar una matriz de gráficos de dispersión con ggplot2
, el uso de ggplot
's características agradables como los mapas de factores adicionales a color, forma, etc. y añadiendo más suave?
Estoy pensando en algo similar a la base
función pairs
.
Respuestas:
Es posible que desee probar plotmatrix:
para mí, mpg (primera columna en mtcars) no debería ser un factor. No lo he comprobado, pero no hay ninguna razón por la que deba ser uno. Sin embargo, obtengo un diagrama de dispersión :)
Nota: Para referencia futura, la
plotmatrix()
función ha sido reemplazada por laggpairs()
función delGGally
paquete como sugiere @ naught101 en otra respuesta a continuación a esta pregunta.fuente
plotmatrix()
función ha sido reemplazada por laggpairs()
función delGGally
paquete como sugiere @ naught101 en otra respuesta a esta pregunta.Sigo queriendo hacer esto, pero plotmatrix es una mierda. Hadley recomienda usar el paquete GGally en su lugar. Tiene una función, ggpairs , que es un diagrama de pares muy mejorado (le permite usar variables no continuas en sus marcos de datos). Traza diferentes parcelas en cada cuadrado, dependiendo de los tipos de variables:
fuente
colour
variable tiene que ser un factor; Pasé 45 minutos averiguando eso.melt
usar el marco de datos usando la variable que le interesa como una variable de identificación y luego facetar con las otras variables.ggplot(data, aes(x=id, y=value)) + geom_point() + facet_grid(.~variable)
. Supongo que estás hablando de diagramas de dispersión cuando dices "diagrama de correlación", porque de otra manera nunca había oído hablar de eso.GGally::ggpairs(iris, aes(colour = Species, alpha=0.4))
Si uno quiere obtener un
ggplot
objeto (noggmatrix
como en el caso deggpairs()
), la solución es fundir los datos dos veces, luegoggplot
con facetas.facet_wrap
sería mejor quefacet_grid
limitar el área trazada, dadoscales = 'free'
que se proporciona el parámetro.fuente