setwd("~/R")

Cambio climatico

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

Conociendo los datos

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.

Medidas de tendencia central

Media

mean(temperature_anomaly$`Median temperature`)
## [1] -0.08121912

Mediana

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

Moda

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

Rango o amplitud

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

Cuartiles y tendencia central

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

Gráfico de caja y bigote

boxplot(temperature_anomaly$`Median temperature`)

Rango intercuartil

# 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

Analisis de frecuencia

library(fdth)
## 
## Attaching package: 'fdth'
## The following object is masked from 'package:modeest':
## 
##     mfv
## The following objects are masked from 'package:stats':
## 
##     sd, var

Frecuencias absolutas, relativas y acumuladas

  • Tabla de frecuencias
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

Poligonos e histogramas

#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")

Medidas de dispersión: rango, varianza, desviación, estándar y coeficiente de variación.

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

Luego, para conocer el rango de los valores se debe restar el valor máximo al mínimo.

var(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] 0.09516433
sd(temperature_anomaly$`Median temperature`, na.rm = TRUE)
## [1] 0.3084872

Coeficiente de variación

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