Visualización de datos en lenguaje R ggplot2 fundamentos 2 crear un diagrama de dispersión de una sola capa para crear una faceta

Visualización de datos en lenguaje R ggplot2 fundamentos 2 crear un diagrama de dispersión de una sola capa para crear una faceta

Gráfico de dispersión de una sola capa

En esta lección, comenzamos con el diagrama de dispersión más simple e introducimos los conceptos básicos de la aplicación ggplot2. Primero, descargamos y aplicamos el paquete tidyverse:

install.packages("tidyverse")
library(tidyverse)

Utilice el mpg de datos de tidyverse, por ejemplo,

> ggplot2::mpg
# A tibble: 234 x 11
   manufacturer model displ  year   cyl trans drv     cty
   <chr>        <chr> <dbl> <int> <int> <chr> <chr> <int>
 1 audi         a4      1.8  1999     4 auto~ f        18
 2 audi         a4      1.8  1999     4 manu~ f        21
 3 audi         a4      2    2008     4 manu~ f        20
 4 audi         a4      2    2008     4 auto~ f        21
 5 audi         a4      2.8  1999     6 auto~ f        16
 6 audi         a4      2.8  1999     6 manu~ f        18
 7 audi         a4      3.1  2008     6 auto~ f        18
 8 audi         a4 q~   1.8  1999     4 manu~ 4        18
 9 audi         a4 q~   1.8  1999     4 auto~ 4        16
10 audi         a4 q~   2    2008     4 manu~ 4        20
# ... with 224 more rows, and 3 more variables:
#   hwy <int>, fl <chr>, class <chr>

En estos datos, prestamos más atención a las dos variables displ y hwy, displ representa el tamaño del motor (litros) y hwy representa la eficiencia de combustible (millas por galón) en la carretera. Para mostrar la relación entre estas dos variables, primero dibujamos un diagrama de dispersión simple:

ggplot(data = mpg)+
  geom_point(mapping = aes(x = displ, y = hwy))

Inserte la descripción de la imagen aquí

Porque solo queremos un diagrama de dispersión, por lo que con un código mínimo, en lugar de en una charla introducida Gramática en capas, si se trata de escribir Gramática en capas

ggplot()+
  layer(data = mpg,mapping = aes(x = displ, y = hwy),
        geom = "point",stat = "identity",position="identity")+
  scale_y_continuous()+
  scale_x_continuous()+
  coord_cartesian()

La salida de este código es la misma que la salida de imagen por el código mínimo, pero este código está escrito estrictamente de acuerdo con Layered Grammar. El comienzo de ggplot () indica que el siguiente paso es crear un objeto gráfico usando gramática gráfica. El primer paso es crear una capa. Una capa contiene datos, mapeo (mapeo estético), objetos geométricos, transformación estadística y ajuste de posición; el segundo paso es especificar la escala y el sistema de coordenadas; compare la gramática en capas y el código mínimo, puede comenzar a construir algo de intuición, que puede omitirse, cuáles son los requisitos mínimos, y las muestras de código subsiguientes usan código mínimo.

En general, este diagrama de dispersión tiene una tendencia a la baja, pero qué puntos en el medio de la derecha probablemente causen un patrón no lineal en los residuos de ajuste lineal. Por lo tanto, esperamos introducir otra variable para explicar este fenómeno, para que podamos usar diferentes colores para indicar los puntos dispersos correspondientes a diferentes modelos:

ggplot(data = mpg)+
  geom_point(mapping = aes(x = displ, y = hwy, color = class))

Inserte la descripción de la imagen aquí
De esta manera, podemos comparar la relación entre el tamaño del motor y la eficiencia del combustible por modelo.

Puede intentar cambiar color = class a alpha = class, shape = class o size = class en el mapeo estético. Estas tres oraciones pueden usar transparencia, tipo de punto y tamaño de punto para representar diferentes modelos.

Faceta del diagrama de dispersión de una sola capa

Si no queremos combinar estos modelos en una imagen para comparar, pero usamos una subtrama para mostrar la relación entre el tamaño del motor y la eficiencia de combustible de cada modelo, entonces necesitamos crear una faceta.

Código mínimo:

ggplot(data = mpg)+
  geom_point(mapping = aes(x = displ, y = hwy))+
  facet_wrap(~class,nrow = 2)

Gramática en capas:

ggplot()+
  layer(data = mpg,mapping = aes(x = displ, y = hwy),
        geom = "point",stat = "identity",position="identity")+
  facet_wrap(~class,nrow = 2)+
  scale_y_continuous()+
  scale_x_continuous()+
  coord_cartesian()

Inserte la descripción de la imagen aquí
facet_wrap (~ class, nrow = 2) significa que los datos del modelo de automóvil se utilizan como una subtrama para crear una faceta, y la subtrama se organiza de manera uniforme en dos filas.

También puede utilizar dos variables para crear una faceta, como cambiar facet_wrap (~ class, nrow = 2) a facet_grid (drv ~ cyl), y el resultado es

Inserte la descripción de la imagen aquí
Si desea eliminar las filas y mantener solo las columnas, puede usar facet_grid (. ~ Cyl) en su lugar,
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_44207974/article/details/112856550
Recomendado
Clasificación