Variación de Temperatura Superficial Anual

TEMPERATURA
CALENTAMIENTO GLOBAL
CLIMA
Autor/a
Afiliación

Universitat de València

Fecha de publicación

10 de mayo de 2024

# librerías
library(readr)

Input

Se ha obtenido un conjunto de datos del “IMF Climate Change Dashboard”, una herramienta desarrollada por el Fondo Monetario Internacional (IMF) para ayudar a los países a evaluar y gestionar los riesgos financieros asociados con el cambio climático.

En concreto, el dataset con el que se va a trabajar, llamado “Annual Surface Temperature Change”, contiene estimaciones anuales del cambio medio de la temperatura de la superficie terrestre medido con respecto a una climatología base, correspondiente al periodo entre 1961 y 2022.

El dataset se puede obtener siguiendo el siguiente enlace: Annual Surface Temperature Change.

Descripción

Comenzamos cargando los datos.

datos <- read_csv("data/Annual_Surface_Temperature_Change.csv")
Rows: 236 Columns: 73
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr  (9): Country, ISO2, ISO3, Indicator, Unit, Source, CTS Code, CTS Name, ...
dbl (64): ObjectId, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 19...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
summary(datos)
    ObjectId        Country              ISO2               ISO3          
 Min.   :  1.00   Length:236         Length:236         Length:236        
 1st Qu.: 59.75   Class :character   Class :character   Class :character  
 Median :118.50   Mode  :character   Mode  :character   Mode  :character  
 Mean   :118.73                                                           
 3rd Qu.:177.25                                                           
 Max.   :241.00                                                           
                                                                          
  Indicator             Unit              Source            CTS Code        
 Length:236         Length:236         Length:236         Length:236        
 Class :character   Class :character   Class :character   Class :character  
 Mode  :character   Mode  :character   Mode  :character   Mode  :character  
                                                                            
                                                                            
                                                                            
                                                                            
   CTS Name         CTS Full Descriptor      1961              1962         
 Length:236         Length:236          Min.   :-0.6970   Min.   :-1.36400  
 Class :character   Class :character    1st Qu.:-0.1050   1st Qu.:-0.20775  
 Mode  :character   Mode  :character    Median : 0.0600   Median :-0.07650  
                                        Mean   : 0.1666   Mean   :-0.02863  
                                        3rd Qu.: 0.3200   3rd Qu.: 0.11875  
                                        Max.   : 1.8940   Max.   : 1.03300  
                                        NA's   :35        NA's   :34        
      1963               1964               1965              1966        
 Min.   :-2.24400   Min.   :-0.87600   Min.   :-1.0510   Min.   :-2.3570  
 1st Qu.:-0.20600   1st Qu.:-0.26350   1st Qu.:-0.4120   1st Qu.:-0.0435  
 Median :-0.00200   Median :-0.10550   Median :-0.2240   Median : 0.1205  
 Mean   :-0.01623   Mean   :-0.09661   Mean   :-0.2457   Mean   : 0.1073  
 3rd Qu.: 0.20100   3rd Qu.: 0.08300   3rd Qu.:-0.1020   3rd Qu.: 0.2888  
 Max.   : 1.18700   Max.   : 1.08300   Max.   : 0.8690   Max.   : 1.4240  
 NA's   :35         NA's   :36         NA's   :37        NA's   :34       
      1967              1968              1969              1970        
 Min.   :-1.0230   Min.   :-3.2510   Min.   :-1.7400   Min.   :-1.2810  
 1st Qu.:-0.2575   1st Qu.:-0.3505   1st Qu.:-0.0300   1st Qu.:-0.0660  
 Median :-0.1430   Median :-0.1970   Median : 0.1965   Median : 0.1530  
 Mean   :-0.1077   Mean   :-0.2131   Mean   : 0.1366   Mean   : 0.1002  
 3rd Qu.: 0.0105   3rd Qu.:-0.0565   3rd Qu.: 0.3257   3rd Qu.: 0.3000  
 Max.   : 1.1430   Max.   : 0.4790   Max.   : 0.9350   Max.   : 1.0000  
 NA's   :37        NA's   :37        NA's   :38        NA's   :39       
      1971               1972               1973               1974        
 Min.   :-1.30900   Min.   :-1.79200   Min.   :-0.89200   Min.   :-0.9280  
 1st Qu.:-0.32875   1st Qu.:-0.22700   1st Qu.: 0.01425   1st Qu.:-0.3450  
 Median :-0.18500   Median :-0.04250   Median : 0.29150   Median :-0.2080  
 Mean   :-0.19576   Mean   :-0.06672   Mean   : 0.23750   Mean   :-0.1548  
 3rd Qu.:-0.06175   3rd Qu.: 0.13575   3rd Qu.: 0.45175   3rd Qu.:-0.0140  
 Max.   : 0.66500   Max.   : 2.38600   Max.   : 1.14700   Max.   : 1.5960  
 NA's   :36         NA's   :34         NA's   :34         NA's   :35       
      1975               1976              1977             1978         
 Min.   :-1.09200   Min.   :-1.1540   Min.   :-0.703   Min.   :-0.85500  
 1st Qu.:-0.25600   1st Qu.:-0.4440   1st Qu.: 0.021   1st Qu.:-0.03050  
 Median :-0.12800   Median :-0.2790   Median : 0.220   Median : 0.10100  
 Mean   :-0.01387   Mean   :-0.2422   Mean   : 0.181   Mean   : 0.07109  
 3rd Qu.: 0.11700   3rd Qu.:-0.0740   3rd Qu.: 0.326   3rd Qu.: 0.23650  
 Max.   : 1.89300   Max.   : 0.9240   Max.   : 1.083   Max.   : 0.93200  
 NA's   :39         NA's   :37        NA's   :39       NA's   :37        
      1979              1980              1981              1982         
 Min.   :-1.3220   Min.   :-0.7590   Min.   :-1.0660   Min.   :-0.68500  
 1st Qu.: 0.1265   1st Qu.: 0.0300   1st Qu.: 0.0225   1st Qu.:-0.03275  
 Median : 0.2800   Median : 0.2860   Median : 0.1905   Median : 0.19000  
 Mean   : 0.2366   Mean   : 0.2519   Mean   : 0.1812   Mean   : 0.16816  
 3rd Qu.: 0.4600   3rd Qu.: 0.4740   3rd Qu.: 0.3675   3rd Qu.: 0.40675  
 Max.   : 1.2740   Max.   : 1.0620   Max.   : 1.5630   Max.   : 1.18200  
 NA's   :37        NA's   :35        NA's   :38        NA's   :36        
      1983              1984              1985               1986        
 Min.   :-2.4210   Min.   :-1.9230   Min.   :-1.21000   Min.   :-0.7660  
 1st Qu.: 0.1260   1st Qu.:-0.1370   1st Qu.:-0.06900   1st Qu.:-0.0125  
 Median : 0.4240   Median : 0.1090   Median : 0.11100   Median : 0.1860  
 Mean   : 0.3335   Mean   : 0.0803   Mean   : 0.07129   Mean   : 0.1435  
 3rd Qu.: 0.7000   3rd Qu.: 0.2960   3rd Qu.: 0.29700   3rd Qu.: 0.3400  
 Max.   : 1.4460   Max.   : 1.8960   Max.   : 1.78900   Max.   : 0.9070  
 NA's   :37        NA's   :39        NA's   :39         NA's   :37       
      1987              1988              1989              1990        
 Min.   :-1.6490   Min.   :-2.1080   Min.   :-1.6760   Min.   :-0.7180  
 1st Qu.: 0.1675   1st Qu.: 0.2950   1st Qu.:-0.0315   1st Qu.: 0.2460  
 Median : 0.4520   Median : 0.4970   Median : 0.1480   Median : 0.4770  
 Mean   : 0.3914   Mean   : 0.4759   Mean   : 0.2474   Mean   : 0.5500  
 3rd Qu.: 0.7195   3rd Qu.: 0.6750   3rd Qu.: 0.3890   3rd Qu.: 0.7835  
 Max.   : 1.4290   Max.   : 1.4020   Max.   : 2.1840   Max.   : 1.8390  
 NA's   :37        NA's   :37        NA's   :37        NA's   :37       
      1991              1992              1993               1994        
 Min.   :-0.6440   Min.   :-1.3560   Min.   :-1.52100   Min.   :-0.5750  
 1st Qu.: 0.1920   1st Qu.:-0.0330   1st Qu.: 0.00625   1st Qu.: 0.2657  
 Median : 0.3850   Median : 0.2920   Median : 0.25900   Median : 0.4825  
 Mean   : 0.3757   Mean   : 0.2245   Mean   : 0.20237   Mean   : 0.5922  
 3rd Qu.: 0.5750   3rd Qu.: 0.5120   3rd Qu.: 0.51700   3rd Qu.: 0.7953  
 Max.   : 1.3160   Max.   : 1.6020   Max.   : 1.11400   Max.   : 1.9670  
 NA's   :38        NA's   :17        NA's   :18         NA's   :18       
      1995              1996               1997              1998        
 Min.   :-0.4310   Min.   :-0.79300   Min.   :-0.5180   Min.   :-0.5010  
 1st Qu.: 0.3603   1st Qu.: 0.02375   1st Qu.: 0.2415   1st Qu.: 0.7750  
 Median : 0.6250   Median : 0.30400   Median : 0.5450   Median : 1.0220  
 Mean   : 0.6224   Mean   : 0.29154   Mean   : 0.5420   Mean   : 0.9749  
 3rd Qu.: 0.8143   3rd Qu.: 0.52000   3rd Qu.: 0.8000   3rd Qu.: 1.2300  
 Max.   : 2.1010   Max.   : 1.71000   Max.   : 1.9660   Max.   : 2.4840  
 NA's   :16        NA's   :16         NA's   :20        NA's   :17       
      1999              2000              2001              2002        
 Min.   :-0.5510   Min.   :-0.7930   Min.   :-0.1510   Min.   :-0.0730  
 1st Qu.: 0.3940   1st Qu.: 0.3305   1st Qu.: 0.4988   1st Qu.: 0.6670  
 Median : 0.6600   Median : 0.5400   Median : 0.6890   Median : 0.8310  
 Mean   : 0.7413   Mean   : 0.6749   Mean   : 0.8503   Mean   : 0.9295  
 3rd Qu.: 1.0415   3rd Qu.: 1.0180   3rd Qu.: 1.2608   3rd Qu.: 1.1640  
 Max.   : 2.0670   Max.   : 2.0460   Max.   : 2.0170   Max.   : 2.2550  
 NA's   :17        NA's   :17        NA's   :20        NA's   :15       
      2003              2004              2005              2006        
 Min.   :-0.4550   Min.   :-0.5160   Min.   :-0.2870   Min.   :-0.1660  
 1st Qu.: 0.6410   1st Qu.: 0.5577   1st Qu.: 0.6360   1st Qu.: 0.6215  
 Median : 0.8770   Median : 0.7510   Median : 0.8640   Median : 0.8270  
 Mean   : 0.8413   Mean   : 0.7794   Mean   : 0.8793   Mean   : 0.8903  
 3rd Qu.: 1.0370   3rd Qu.: 0.9760   3rd Qu.: 1.1220   3rd Qu.: 1.1355  
 Max.   : 2.3630   Max.   : 2.1610   Max.   : 2.4460   Max.   : 3.8860  
 NA's   :15        NA's   :16        NA's   :17        NA's   :13       
      2007              2008             2009              2010       
 Min.   :-0.4570   Min.   :-0.033   Min.   :-0.1950   Min.   :-0.342  
 1st Qu.: 0.6807   1st Qu.: 0.440   1st Qu.: 0.6690   1st Qu.: 0.744  
 Median : 0.8870   Median : 0.706   Median : 0.9080   Median : 1.087  
 Mean   : 1.0257   Mean   : 0.809   Mean   : 0.9178   Mean   : 1.120  
 3rd Qu.: 1.1892   3rd Qu.: 1.090   3rd Qu.: 1.2055   3rd Qu.: 1.334  
 Max.   : 3.0500   Max.   : 2.587   Max.   : 1.9060   Max.   : 3.231  
 NA's   :12        NA's   :16       NA's   :13        NA's   :11      
      2011              2012              2013            2014      
 Min.   :-0.3560   Min.   :-0.2730   Min.   :0.173   Min.   :0.130  
 1st Qu.: 0.5690   1st Qu.: 0.5760   1st Qu.:0.702   1st Qu.:0.708  
 Median : 0.7710   Median : 0.8040   Median :0.937   Median :0.951  
 Mean   : 0.8273   Mean   : 0.9087   Mean   :0.942   Mean   :1.114  
 3rd Qu.: 1.0870   3rd Qu.: 1.2070   3rd Qu.:1.176   3rd Qu.:1.315  
 Max.   : 2.1050   Max.   : 3.8250   Max.   :2.271   Max.   :3.382  
 NA's   :11        NA's   :15        NA's   :15      NA's   :15     
      2015             2016            2017            2018       
 Min.   :-0.132   Min.   :0.234   Min.   :0.243   Min.   :0.3020  
 1st Qu.: 0.954   1st Qu.:1.147   1st Qu.:1.009   1st Qu.:0.8385  
 Median : 1.221   Median :1.443   Median :1.247   Median :1.1330  
 Mean   : 1.261   Mean   :1.440   Mean   :1.281   Mean   :1.3047  
 3rd Qu.: 1.536   3rd Qu.:1.712   3rd Qu.:1.530   3rd Qu.:1.8390  
 Max.   : 3.313   Max.   :5.327   Max.   :3.335   Max.   :4.0640  
 NA's   :13       NA's   :13      NA's   :13      NA's   :13      
      2019            2020            2021              2022        
 Min.   :0.121   Min.   :0.059   Min.   :-0.5690   Min.   :-0.6980  
 1st Qu.:1.114   1st Qu.:1.121   1st Qu.: 0.9335   1st Qu.: 0.8415  
 Median :1.367   Median :1.415   Median : 1.2970   Median : 1.2750  
 Mean   :1.429   Mean   :1.523   Mean   : 1.3098   Mean   : 1.3490  
 3rd Qu.:1.693   3rd Qu.:1.835   3rd Qu.: 1.6185   3rd Qu.: 1.8600  
 Max.   :2.871   Max.   :3.669   Max.   : 3.0120   Max.   : 3.5120  
 NA's   :14      NA's   :16      NA's   :13        NA's   :13       
      2023      
 Min.   :0.215  
 1st Qu.:1.177  
 Median :1.611  
 Mean   :1.647  
 3rd Qu.:2.080  
 Max.   :3.578  
 NA's   :15     

Contamos con un conjunto de datos de 225 observaciones y 72 variables. A continuación, se realizará una breve descripción de las variables. Las primeras son cualitativas, y describen la información que contiene el dataset.

  • ObjectID: ID único asignado a cada una de las observaciones.

  • Country: nombre del país; tipo cadena de caracteres.

  • ISO2: código de dos letras del país según el estándar internacional para la representación de países; tipo cadena de caracteres.

  • ISO3: código de tres letras del país según el estándar internacional para la representación de países; tipo cadena de caracteres.

  • Indicator: tipo de indicador que se muestra en el dataset; tipo cadena de caracteres.

  • Unit: unidad con la que trabaja el data set (grados celsius); tipo cadena de caracteres.

  • Source: fuente de obtención de los datos (FAO); tipo cadena de caracteres.

  • CTS Code: contiene un código identificativo para esta base de datos, dentro del IMF; tipo cadena de caracteres.

  • CTS Name: contiene el nombre de la base de datos; tipo cadena de caracteres.

  • CTS Full Descriptor: contiene etiquetas que describen la temática de la base de datos; tipo cadena de caracteres.

A partir de aquí, el resto de variables son las variaciones de temperatura cada año, desde 1961 hasta 2022, por país.

El principal aspecto a mejorar que se observa en este dataset es la existencia de numerosos valores ausentes o NAs en todas las variables que representan años. Esto se ha podido comprobar con la misma carga de los datos y la función summary.

Tratamiento

Una vez detectados los principales aspectos a mejorar del conjunto de datos, se realizarán los cambios necesarios sobre el mismo para su adecuación.

En primer lugar, procederemos al tratamiento de los valores ausentes. Existen diversas formas de trabajar con NAs, como su eliminación o la imputación de otros valores en su lugar mediante diversos métodos (cálculo de la media, la mediana…).

Para este conjunto de datos, primeramente se consideró el cálculo de la media de cada caso, ya que es una de las formas más sencilla de imputación. Sin embargo, y como se puede observar a continuación, las temperaturas van en aumento año tras año debido al cambio climático, por lo que imputar la media de todos los datos no tendría sentido a nivel cronológico.

También se consideró la posibilidad de calcular la media entre el dato anterior y el posterior al NA, pero estos valores faltantes están consecutivos en la misma fila, por lo que es imposible realizar este procedimiento. Por tanto, el método finalmente escogido para la imputación de valores ha sido la imputación basada en vecinos más cercanos, utilizando la función kNN del paquete VIM. Esto permite encontrar observaciones similares a las que tienen valores faltantes y utilizar los valores de estas observaciones para imputar los NA.

# Abrimos el paquete
library(VIM)
Cargando paquete requerido: colorspace
Cargando paquete requerido: grid
VIM is ready to use.
Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues

Adjuntando el paquete: 'VIM'
The following object is masked from 'package:datasets':

    sleep
# Usamos la función de imputación
datos_imputados_k <- kNN(datos)

# Comprobamos que ha funcionado (no hay NAs)
any(is.na(datos_imputados_k))
[1] FALSE

Output

Se ha obtenido este nuevo conjunto de datos:

# Supongamos que tu dataset se llama "mi_dataset"
write.csv(datos_imputados_k, "datos_imputados_k.csv", row.names = FALSE)

El fichero generado con este procedimiento se puede obtener de aquí.



Proyecto de Innovación Educativa Emergente (PIEE-2737007)