-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path09-graficos.Rmd
More file actions
189 lines (136 loc) · 6.35 KB
/
09-graficos.Rmd
File metadata and controls
189 lines (136 loc) · 6.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# Gráficos en R
R es un lenguaje de programación y entorno computacional dedicado a la estadística que dispone de múltiples funciones diseñadas para la representación gráfica de datos.
Revisa la presentación completa [aquí](https://drive.google.com/u/0/uc?id=1t_zGzI25aQp3j3ffs1RnIcyUzgee7azf&export=download)
## Tipos de gráficos en R
Existe una gran variedad de gráficos que pueden utilizarse según el tipo de datos que se tengan.
<img src="https://i.pinimg.com/originals/77/e3/7e/77e37ee70c22a193b429d8cbf6dfd0cb.png"/>
[Fuente](https://www.r-graph-gallery.com/)
## Paqueterías para graficar en R
Existen diversas paqueterías en R que facilitan la creación de gráficos. Cada paquetería permite crear diversos tipos de gráficos.
+ **[graphics](https://www.rdocumentation.org/packages/graphics/versions/3.6.2)**
+ [grid](https://cran.r-project.org/package=grid)
+ [Lattice](https://cran.r-project.org/web/packages/lattice/lattice.pdf)
+ **[ggplot2](https://cran.r-project.org/package=ggplot2)**
+ [gganimate](https://cran.r-project.org/package=gganimate)
+ [Highcharts](https://cran.r-project.org/package=highcharter)
+ [bbplot](https://github.com/bbc/bbplot)
+ [ggfortify](https://cran.r-project.org/package=ggfortify)
## Gráficos de base R
R cuenta con el paquete base de graphics para la construcción de gráficos. La función `plot` es la función básica que permite crear:
+ Líneas
+ Barras
+ Boxplots
+ Matrices de dispersión
## Paletas de colores en R
Los colores son uno de los elementos esenciales de un gráfico. Forman parte de la estética y por tanto, los podemos utilizar tanto para representar variables, como para destacar elementos dentro de la visualización.
[Aquí](http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf) y [aquí](https://htmlcolorcodes.com/) puedes revisar los colores disponibles en R que puedes usar en tus gráficas.
## ggplot2
[ggplot2](https://cran.r-project.org/package=ggplot2) es una de las paqueterías más populares en R para crear una gran variedad de gráficos. `ggplot2` es un sistema para la creación declarativa de gráficos basado en la gramática de gráficos. En esta gramática, se separan los elementos o las partes de un gráfico en diferentes capas o layers, y así es más fácil modificarlos.
`ggplot2` funciona a través de la grámatica de gráficos donde se dan los datos, las variables que queremos a graficar y la geometría deseada.
Instalación de ggplot2
```{r, eval=FALSE}
install.packages("tidyverse")
install.packages("ggplot2")
```
Cargar la librería de trabajo
```{r}
library(ggplot2)
```
Importamos el set de datos que puedes descargar de [aquí](https://drive.google.com/u/0/uc?id=1TlR9xgKl7Laf8-SNwoq3W2MXkD19AQ9d&export=download)
```{r, eval=F}
datos <- read.csv("iris.csv")
```
```{r, eval=T, echo=F}
datos <- read.csv("~/Downloads/iris.csv")
```
```{r}
head(datos)
```
### Scatterplots
Vamos a crear un gráfico ddel tipo scatterplot muy básico con ggplot2.
```{r}
ggplot(datos, aes(x = Petal.Width, y = Petal.Length)) +
geom_point()
```
Ahora vamos a colorear todos los puntos utilizando `geom_point(color)`. Para agregar las etiquetas de los ejes usamos `labs()` como se muestra a continuación.
```{r}
ggplot(datos, aes(x = Petal.Width, y = Petal.Length)) +
geom_point(color="red")+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo")
```
Con el argumento `color` coloreamos por especie de flor.
```{r}
ggplot(datos, aes(x = Petal.Width, y = Petal.Length, color=Species)) +
geom_point()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo")
```
`shape` permite modificar la forma del punto. En este caso vamos a poner diferentes puntos según la especie de flor . Con `ggtitle` agregamos un título a nuestro gráfico.
```{r}
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color=Species, shape=Species)) +
geom_point(size=3) +
theme_bw()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo")+
ggtitle("Set de datos iris")
```
Otra opción para modificar los colores es utilizando `scale_colour_manual()`. Con este argumento indicamos los colores que queremos usar para nuestro gráfico basados en la paleta de colores.
```{r}
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color=Species)) +
geom_point()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo",
title = "Set de datos iris", subtitle = "Scatterplot")+
theme_grey()+
theme(legend.position = "top")+
scale_colour_manual(values=c("red", "blue", "green"))
```
### RcolorBrewer
RcolorBrewer es una paquetería exclusiva de colores que podemos usar en nuestros gráficos.
```{r, eval=FALSE}
install.packages("RColorBrewer")
```
```{r}
library(RColorBrewer)
```
Conocer todas las paletas de colores disponibles en RColorBrewer.
```{r}
display.brewer.all()
```
Vamos a elegir la paleta "Dark2" para personalizar nuestro gráfico. Usamos el argumento `scale_colour_brewer()` como se muestra a continuación
```{r}
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color=Species)) +
geom_point()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo",
title = "Set de datos iris")+
theme_grey()+
theme(legend.position = "top")+
scale_colour_brewer(palette="Dark2")
```
### Boxplots
R contiene varios sets de datos ya pre-cargados con los que podemos trabajar. Para conocer los sets disponibles usamos:
```{r, echo=FALSE}
data()
```
Para este ejercicio vamos a elegir el set de datos **chickwts**. La información de este set de datos se uso para medir y comparar la efectividad de varios suplementos alimenticios en la tasa de crecimiento de los pollos.
```{r}
head(chickwts)
```
Vamos a crear un boxplot básico.
```{r}
ggplot(chickwts, aes(y = weight, x= feed)) +
geom_boxplot()+ggtitle("Box Plot of Weight")
```
`theme()` permite modificar varios elementos del gráfico. En esta ocasión lo usaremos para rotar las etiquetas del eje x.
```{r}
ggplot(chickwts, aes(y = weight, x= feed)) +
geom_boxplot()+ggtitle("Box Plot of Weight")+
theme(text = element_text(size=10),
axis.text.x = element_text(angle=90, hjust=1))
```
Coloreamos el gráfico por tipo de alimentación que se le dio a los pollos.
```{r}
ggplot(chickwts, aes(y = weight, x= feed, fill=feed)) +
geom_boxplot()+
ggtitle("Dataset chickwts")+
theme(text = element_text(size=10),
axis.text.x = element_text(angle=90, hjust=1))+
labs(subtitle = "Boxplot", y= "peso", x="alimento")
```