setwd("~/R")
Según el gobierno de México: El cambio climático es considerado uno de los problemas ambientales más importantes de nuestro tiempo, y puede definirse como todo cambio significativo en el sistema climático del planeta, que permanece por décadas o más tiempo.
El cambio climático puede darse por causas naturales, o como resultado de actividades humanas.
El calentamiento global es la manifestación más evidente del cambio climático, y se refiere al incremento promedio de las temperaturas terrestres y marinas a nivel global. En las tres últimas décadas la superficie de la Tierra se ha vuelto cada vez más cálida, y se han superado los registros de cualquier época precedente a 1850
A pesar de que el clima del planeta ha cambiado a lo largo del tiempo en forma natural, existen claras evidencias de que el cambio climático puede ser atribuido a efectos ocasionados por actividades humanas.
iformacón proporcionada de aquí: https://www.gob.mx/inecc/acciones-y-programas/que-es-el-cambio-climatico
En este caso de estudio analizaremos los datos siguientes:
Los siguientes datos son importados desde la página: https://ourworldindata.org/co2-and-other-greenhouse-gas-emissions
library(readr)
temperature_anomaly <- read_csv("temperature-anomaly.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## Entity = col_character(),
## Year = col_double(),
## `Median temperature` = col_double(),
## `Upper bound (95% CI)` = col_double(),
## `Lower bound (95% CI)` = col_double()
## )
View(temperature_anomaly)
Las temperaturas medias mundiales han aumentado en más de 1°C desde tiempos preindustriales
head(temperature_anomaly) #Para conocer los primeros registros
## # A tibble: 6 x 5
## Entity Year `Median temperature` `Upper bound (95% CI)` `Lower bound (95% CI~
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Global 1850 -0.373 -0.339 -0.425
## 2 Global 1851 -0.218 -0.184 -0.274
## 3 Global 1852 -0.228 -0.196 -0.28
## 4 Global 1853 -0.269 -0.239 -0.321
## 5 Global 1854 -0.248 -0.218 -0.301
## 6 Global 1855 -0.272 -0.241 -0.324
Las emisiones humanas de dióxido de carbono y otros gases de efecto invernadero son uno de los principales impulsores del cambio climático y presentan uno de los desafíos más apremiantes del mundo. Este vínculo entre las temperaturas globales y las concentraciones de gases de efecto invernadero, especialmente el CO2, ha sido cierto a lo largo de la historia de la Tierra.
mean(temperature_anomaly$`Median temperature`)
## [1] -0.08121912
median(temperature_anomaly$`Median temperature`)
## [1] -0.1415
Para saber esto, ordenamos los datos de mayor a menor para una mejor apreciación
sort(temperature_anomaly$`Median temperature`)
## [1] -0.668 -0.668 -0.597 -0.567 -0.566 -0.561 -0.556 -0.544 -0.543 -0.539
## [11] -0.538 -0.528 -0.528 -0.524 -0.522 -0.521 -0.520 -0.516 -0.516 -0.513
## [21] -0.511 -0.508 -0.503 -0.501 -0.498 -0.494 -0.494 -0.493 -0.490 -0.485
## [31] -0.485 -0.482 -0.481 -0.479 -0.479 -0.479 -0.478 -0.477 -0.476 -0.474
## [41] -0.473 -0.472 -0.468 -0.467 -0.466 -0.466 -0.466 -0.465 -0.461 -0.458
## [51] -0.458 -0.457 -0.455 -0.453 -0.450 -0.448 -0.447 -0.446 -0.444 -0.443
## [61] -0.442 -0.439 -0.437 -0.425 -0.424 -0.421 -0.421 -0.421 -0.418 -0.417
## [71] -0.416 -0.414 -0.412 -0.412 -0.410 -0.409 -0.408 -0.408 -0.407 -0.405
## [81] -0.405 -0.402 -0.400 -0.400 -0.400 -0.398 -0.397 -0.397 -0.395 -0.395
## [91] -0.394 -0.390 -0.389 -0.386 -0.386 -0.385 -0.384 -0.384 -0.383 -0.380
## [101] -0.379 -0.379 -0.378 -0.378 -0.377 -0.375 -0.373 -0.368 -0.368 -0.368
## [111] -0.367 -0.367 -0.367 -0.367 -0.366 -0.363 -0.363 -0.361 -0.361 -0.361
## [121] -0.360 -0.360 -0.359 -0.359 -0.359 -0.358 -0.358 -0.356 -0.355 -0.354
## [131] -0.353 -0.350 -0.350 -0.350 -0.349 -0.349 -0.345 -0.345 -0.344 -0.343
## [141] -0.338 -0.338 -0.337 -0.336 -0.336 -0.336 -0.335 -0.334 -0.333 -0.332
## [151] -0.331 -0.330 -0.330 -0.325 -0.323 -0.321 -0.319 -0.318 -0.317 -0.314
## [161] -0.314 -0.312 -0.312 -0.312 -0.309 -0.308 -0.307 -0.307 -0.304 -0.302
## [171] -0.302 -0.299 -0.298 -0.296 -0.296 -0.296 -0.296 -0.296 -0.295 -0.295
## [181] -0.294 -0.293 -0.290 -0.290 -0.289 -0.289 -0.288 -0.288 -0.285 -0.284
## [191] -0.284 -0.283 -0.279 -0.278 -0.278 -0.277 -0.277 -0.276 -0.276 -0.275
## [201] -0.275 -0.273 -0.273 -0.273 -0.272 -0.272 -0.272 -0.271 -0.269 -0.269
## [211] -0.267 -0.266 -0.266 -0.264 -0.263 -0.262 -0.262 -0.262 -0.261 -0.259
## [221] -0.259 -0.258 -0.258 -0.253 -0.251 -0.251 -0.250 -0.248 -0.247 -0.247
## [231] -0.246 -0.245 -0.244 -0.244 -0.244 -0.243 -0.242 -0.241 -0.241 -0.240
## [241] -0.239 -0.238 -0.238 -0.237 -0.237 -0.237 -0.237 -0.235 -0.235 -0.231
## [251] -0.230 -0.229 -0.228 -0.228 -0.228 -0.227 -0.227 -0.224 -0.223 -0.223
## [261] -0.222 -0.222 -0.222 -0.221 -0.220 -0.219 -0.218 -0.215 -0.215 -0.215
## [271] -0.215 -0.214 -0.214 -0.213 -0.212 -0.210 -0.210 -0.209 -0.209 -0.207
## [281] -0.207 -0.206 -0.206 -0.205 -0.204 -0.204 -0.203 -0.203 -0.200 -0.200
## [291] -0.200 -0.199 -0.198 -0.197 -0.195 -0.193 -0.193 -0.190 -0.190 -0.190
## [301] -0.189 -0.187 -0.186 -0.186 -0.185 -0.184 -0.183 -0.180 -0.178 -0.177
## [311] -0.177 -0.175 -0.174 -0.173 -0.171 -0.170 -0.170 -0.169 -0.168 -0.166
## [321] -0.162 -0.160 -0.160 -0.159 -0.159 -0.159 -0.159 -0.158 -0.156 -0.154
## [331] -0.152 -0.150 -0.149 -0.147 -0.147 -0.147 -0.145 -0.145 -0.144 -0.142
## [341] -0.141 -0.141 -0.140 -0.140 -0.138 -0.137 -0.137 -0.134 -0.133 -0.133
## [351] -0.131 -0.131 -0.129 -0.129 -0.128 -0.127 -0.127 -0.127 -0.127 -0.125
## [361] -0.124 -0.123 -0.120 -0.119 -0.117 -0.117 -0.115 -0.113 -0.113 -0.113
## [371] -0.113 -0.113 -0.111 -0.110 -0.108 -0.107 -0.107 -0.101 -0.099 -0.097
## [381] -0.096 -0.095 -0.095 -0.088 -0.087 -0.085 -0.079 -0.077 -0.076 -0.076
## [391] -0.075 -0.074 -0.074 -0.073 -0.071 -0.071 -0.068 -0.068 -0.068 -0.065
## [401] -0.063 -0.063 -0.062 -0.062 -0.058 -0.058 -0.056 -0.056 -0.056 -0.054
## [411] -0.053 -0.052 -0.052 -0.052 -0.051 -0.049 -0.049 -0.049 -0.039 -0.038
## [421] -0.038 -0.034 -0.032 -0.030 -0.029 -0.027 -0.027 -0.027 -0.027 -0.026
## [431] -0.024 -0.023 -0.021 -0.016 -0.014 -0.014 -0.011 -0.008 -0.007 -0.006
## [441] -0.005 -0.004 -0.003 0.000 0.001 0.002 0.003 0.003 0.004 0.006
## [451] 0.006 0.008 0.008 0.009 0.011 0.014 0.014 0.014 0.014 0.015
## [461] 0.015 0.017 0.018 0.018 0.019 0.019 0.020 0.020 0.021 0.022
## [471] 0.023 0.024 0.024 0.025 0.026 0.026 0.027 0.027 0.028 0.032
## [481] 0.034 0.035 0.035 0.038 0.039 0.039 0.041 0.043 0.043 0.043
## [491] 0.043 0.044 0.045 0.046 0.047 0.048 0.048 0.050 0.051 0.052
## [501] 0.056 0.057 0.059 0.062 0.064 0.064 0.065 0.065 0.068 0.068
## [511] 0.071 0.071 0.072 0.072 0.073 0.073 0.074 0.075 0.076 0.080
## [521] 0.084 0.089 0.090 0.092 0.092 0.097 0.099 0.100 0.102 0.105
## [531] 0.107 0.107 0.109 0.116 0.116 0.118 0.118 0.130 0.130 0.136
## [541] 0.136 0.138 0.140 0.144 0.145 0.148 0.148 0.153 0.158 0.159
## [551] 0.162 0.164 0.164 0.167 0.168 0.170 0.175 0.179 0.181 0.183
## [561] 0.184 0.186 0.187 0.192 0.192 0.193 0.193 0.194 0.198 0.199
## [571] 0.204 0.205 0.206 0.206 0.208 0.215 0.220 0.220 0.222 0.231
## [581] 0.233 0.236 0.241 0.243 0.246 0.254 0.270 0.274 0.275 0.280
## [591] 0.285 0.289 0.294 0.296 0.306 0.312 0.316 0.323 0.323 0.325
## [601] 0.336 0.346 0.350 0.352 0.358 0.365 0.367 0.368 0.369 0.379
## [611] 0.381 0.390 0.395 0.398 0.404 0.404 0.405 0.408 0.412 0.413
## [621] 0.425 0.430 0.434 0.441 0.447 0.449 0.456 0.465 0.469 0.470
## [631] 0.470 0.473 0.487 0.491 0.496 0.497 0.502 0.505 0.506 0.506
## [641] 0.507 0.514 0.516 0.531 0.535 0.539 0.541 0.545 0.558 0.560
## [651] 0.563 0.564 0.569 0.575 0.579 0.593 0.594 0.597 0.604 0.614
## [661] 0.627 0.642 0.656 0.674 0.676 0.677 0.713 0.724 0.736 0.737
## [671] 0.740 0.763 0.763 0.779 0.789 0.797 0.922 0.972 1.033 1.064
al no haber una manera directa de calcular la moda en R, usaremos una bilbioteca. Este se refiere al valor que más se repite.
library(modeest)
mlv(temperature_anomaly$`Median temperature`, method = "mfv")
## [1] -0.296 -0.113
maximo <- max(temperature_anomaly$`Median temperature`) #valor más grande
maximo
## [1] 1.064
minimo <- min(temperature_anomaly$`Median temperature`) #valor más chico
minimo
## [1] -0.668
rango <- (maximo-minimo) #amplitud
rango
## [1] 1.732
summary(temperature_anomaly$`Median temperature`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.66800 -0.30200 -0.14150 -0.08122 0.06875 1.06400
boxplot(temperature_anomaly$`Median temperature`)
# IQR (Inter Quartil Range) = Q3-Q1
RIC = IQR(temperature_anomaly$`Median temperature`)
RIC
## [1] 0.37075
# Límite superior (Maximun)
Q3 <- 0.06875
limitesuperior <- (Q3+1.5*RIC)
limitesuperior
## [1] 0.624875
#Límite Inferior (Mínimo)
Q1 <- -0.30200
limiteinferior <- (Q1+1.5*RIC)
limiteinferior
## [1] 0.254125
library(fdth)
##
## Attaching package: 'fdth'
## The following object is masked from 'package:modeest':
##
## mfv
## The following objects are masked from 'package:stats':
##
## sd, var
dist <- fdt(temperature_anomaly$`Median temperature`, breaks="Sturges")
dist
## Class limits f rf rf(%) cf cf(%)
## [-0.6747,-0.5157) 19 0.03 2.79 19 2.79
## [-0.5157,-0.3566) 108 0.16 15.88 127 18.68
## [-0.3566,-0.1976) 166 0.24 24.41 293 43.09
## [-0.1976,-0.03856) 126 0.19 18.53 419 61.62
## [-0.03856,0.1205) 118 0.17 17.35 537 78.97
## [0.1205,0.2795) 52 0.08 7.65 589 86.62
## [0.2795,0.4385) 34 0.05 5.00 623 91.62
## [0.4385,0.5976) 35 0.05 5.15 658 96.76
## [0.5976,0.7566) 13 0.02 1.91 671 98.68
## [0.7566,0.9156) 5 0.01 0.74 676 99.41
## [0.9156,1.075) 4 0.01 0.59 680 100.00
Dist nos brinda una tabla con los cálculos de la distribución de frecuencias
#Absolutos
plot(dist, type="fh")
plot(dist, type="fp")
#Acumulados
plot(dist, type="cfh")
plot(dist, type="cfp")
#Relativos
plot(dist, type="rfh")
plot(dist, type="rfp")
range(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] -0.668 1.064
min(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] -0.668
max(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] 1.064
max(temperature_anomaly$`Median temperature`, na.rm = TRUE) - min(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] 1.732
var(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] 0.09516433
sd(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] 0.3084872
sd(temperature_anomaly$`Median temperature`)/mean(temperature_anomaly$`Median temperature`)
## [1] -3.798209
library(FinCal)
## Warning: package 'FinCal' was built under R version 4.0.4
coefficient.variation(sd=sd(temperature_anomaly$`Median temperature`), avg = mean(temperature_anomaly$`Median temperature`))
## [1] -3.798209