Este notebook

En este notebook el objetivo es que ustedes puedan emplear lo visto en el notebook Nociones básicas de estadística descriptiva para caracterizar la evolución de la temperatura mensual en la C.A.B.A.

Proponemos una serie de preguntas guía a responder usando las herramientas que presentadas en el notebook de estadística descriptiva. Sientan la libertad de hacer nuevas preguntas y explorar el dataset libremente.

El dataset

El dataset que usaremos puede descargarse (además del repositorio) de la página del gobierno de la ciudad en formato csv: https://data.buenosaires.gob.ar/dataset/registro-temperatura-ciudad. También lo pueden encontrar en el GitHub de la materia ya descargado.

Carguemoslo:

datos = read.csv('historico_temperaturas.csv')
  • Visualicen las primeras filas usando la función head
head(datos)

Dado que mes y año no están en un formato cómodo para ser procesado y graficado, necesitamos crear un string que contenga esa misma información pero en formato YYYY-MM-DD (año-mes-día). Hay formas de hacerlo automáticamente, pero hoy la función la van a hacer ustedes. Les dejo un boceto:

month = datos$mes
arma_fecha = function(año,mes){
  # Primero necesitamos convertir el mes en palabras a número con dos dígitos. 
  # Lo hacemos con un diccionario y la función match
  diccionario = c('Enero'='01',
                   'Febrero'='02',
                   'Marzo'='03',
                   'Abril'='04',
                   'Mayo'='05',
                   'Junio'='06',
                   'Julio'='07',
                   'Agosto'='08',
                   'Septiembre'='09',
                   'Octubre'='10',
                   'Noviembre'='11',
                   'Diciembre'='12')
  mes_numerico = diccionario[match(mes,names(diccionario))] # Exploren esto un poco en la consola para ver qué hace exactamente.
  fechas = paste(año,mes_numerico,'01',sep='-')
  # Fijamos el día siempre en el primero del més
  fechas = as.Date(fechas) # Lo convertimos a un formato de fecha
  return(fechas)
}

datos$fecha = arma_fecha(datos$año,datos$mes)

Preguntas

¿Qué puede decir de la evolución de la temperatura a lo largo del tiempo?

Realice un gráfico que muestre la temperatura media en función de la fecha. Sugerencia: agregando en plot(x,y) la opción type='l' obtenemos un gráfico de lineas: plot(x,y,type='l').

¿Qué puede decir de la evolución de la mínima y la máxima en función del tiempo?

Realice un gráfico que muestre la evolución de las tres temperaturas (mínima, media y máxima) a la vez, con lineas y usando diferentes colores. Los colores los indicamos usando la opción col _ en la función plot. _Para agregar lineas usamos la función lines.

¿En qué año y mes se registró la temperatura máxima? ¿Y la mínima?

Detecte, año, mes y fecha y repita el gráfico anterior, agregando un punto rojo y uno azul en la posición de la temperatura máxima y mínima. Para agregar puntos a un gráfico, puede usar la función points , similar a lines . Para ubicar las posiciones donde ocurre el máximo y el mínimo de un vector aproveche las funciones which.max y which.min.

¿En torno a que valor ronda la temperatura en C.A.B.A.?

Calcule las temperaturas promedio y mediana a lo largo de todos los años usando la temperatura media mensual. ¿Son similares en este caso? Calcule la desviación estandar de la temperatura media y los cuartiles 1ro y 3ro, y agreguelos al gráfico original de la temperatura media. La función abline permite dibujar lineas horizontales a través de su argumento h.

¿Cuál es el mes más frio del año? ¿Y el más cálido?

Calcule la temperatura media, mínima y máxima promedio para cada mes, y construya un barplot de la temperatura media separado por mes. ¿Qué meses presentan temperaturas más atípicas?

¿Cuál es el mes con temperatura más variable?

Calcule la variabilidad de la temperatura de cada mes como máxima-mínima (llamada amplitud térmica) y calcule el promedio mensual y construya un boxplot para cada mes. ¿En qué mes es más variable la temperatura? ¿Y en cuál menos? ¿Observa una relación con la temperatura del mes?

¿Cómo se relacionan la temperatura media y la variabilidad?

Grafique la temperatura media contra la variabilidad. ¿Observa una relación? Calcule el coeficiente de correlación entre ambas. ¿Se condice con lo que observa en el gráfico?

¿Cómo cambió la temperatura a lo largo de los años?

Grafique boxplots separando la temperatura media por año, y la amplitud térmica por año. Calcule la temperatura media, mínima y máxima por año. ¿Detecta algún año especialmente frío? Grafique la temperatura media, máxima y mínima año a año. ¿Puede detectar un cambio a lo largo de los años?

LS0tCnRpdGxlOiAiVGVtcGVyYXR1cmEgaGlzdMOzcmljYSBlbiBDLkEuQi5BLiIKYXV0aG9yOiAiQXJpZWwgU2FsZ2FkbyIKZGF0ZTogIjIwIGRlIEp1bGlvIGRlIDIwMjEiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICB0b2M6IHllcwogIGh0bWxfbm90ZWJvb2s6CiAgICB0aGVtZTogbHVtZW4KICAgIHRvYzogeWVzCiAgICB0b2NfZmxvYXQ6IHllcwpzdWJ0aXRsZTogIkxhYm9yYXRvcmlvIGRlIERhdG9zIgotLS0KCiMgRXN0ZSBub3RlYm9vawoKRW4gZXN0ZSBub3RlYm9vayBlbCBvYmpldGl2byBlcyBxdWUgdXN0ZWRlcyBwdWVkYW4gZW1wbGVhciBsbyB2aXN0byBlbiBlbCBub3RlYm9vayBfTm9jaW9uZXMgYsOhc2ljYXMgZGUgZXN0YWTDrXN0aWNhIGRlc2NyaXB0aXZhXyBwYXJhIGNhcmFjdGVyaXphciBsYSBldm9sdWNpw7NuIGRlIGxhIHRlbXBlcmF0dXJhIG1lbnN1YWwgZW4gbGEgQy5BLkIuQS4gCgpQcm9wb25lbW9zIHVuYSBzZXJpZSBkZSBwcmVndW50YXMgX2d1w61hXyBhIHJlc3BvbmRlciB1c2FuZG8gbGFzIGhlcnJhbWllbnRhcyBxdWUgcHJlc2VudGFkYXMgZW4gZWwgbm90ZWJvb2sgZGUgZXN0YWTDrXN0aWNhIGRlc2NyaXB0aXZhLiBTaWVudGFuIGxhIGxpYmVydGFkIGRlIGhhY2VyIG51ZXZhcyBwcmVndW50YXMgeSBleHBsb3JhciBlbCBkYXRhc2V0IGxpYnJlbWVudGUuCgojIEVsIGRhdGFzZXQKCkVsIGRhdGFzZXQgcXVlIHVzYXJlbW9zIHB1ZWRlIGRlc2NhcmdhcnNlIChhZGVtw6FzIGRlbCByZXBvc2l0b3JpbykgZGUgbGEgcMOhZ2luYSBkZWwgZ29iaWVybm8gZGUgbGEgY2l1ZGFkIGVuIGZvcm1hdG8gY3N2OiBodHRwczovL2RhdGEuYnVlbm9zYWlyZXMuZ29iLmFyL2RhdGFzZXQvcmVnaXN0cm8tdGVtcGVyYXR1cmEtY2l1ZGFkLiBUYW1iacOpbiBsbyBwdWVkZW4gZW5jb250cmFyIGVuIGVsIEdpdEh1YiBkZSBsYSBtYXRlcmlhIHlhIGRlc2NhcmdhZG8uCgpDYXJndWVtb3NsbzoKCmBgYHtyfQpkYXRvcyA9IHJlYWQuY3N2KCdoaXN0b3JpY29fdGVtcGVyYXR1cmFzLmNzdicpCmBgYAoKKiBWaXN1YWxpY2VuIGxhcyBwcmltZXJhcyBmaWxhcyB1c2FuZG8gbGEgZnVuY2nDs24gYGhlYWRgCgpgYGB7cn0KaGVhZChkYXRvcykKYGBgCgpEYWRvIHF1ZSBtZXMgeSBhw7FvIG5vIGVzdMOhbiBlbiB1biBmb3JtYXRvIGPDs21vZG8gcGFyYSBzZXIgcHJvY2VzYWRvIHkgZ3JhZmljYWRvLCBuZWNlc2l0YW1vcyBjcmVhciB1biBzdHJpbmcgcXVlIGNvbnRlbmdhIGVzYSBtaXNtYSBpbmZvcm1hY2nDs24gcGVybyBlbiBmb3JtYXRvIF9ZWVlZLU1NLUREXyAoYcOxby1tZXMtZMOtYSkuIEhheSBmb3JtYXMgZGUgaGFjZXJsbyBhdXRvbcOhdGljYW1lbnRlLCBwZXJvIGhveSBsYSBmdW5jacOzbiBsYSB2YW4gYSBoYWNlciB1c3RlZGVzLiBMZXMgZGVqbyB1biBib2NldG86CgpgYGB7cn0KbW9udGggPSBkYXRvcyRtZXMKYXJtYV9mZWNoYSA9IGZ1bmN0aW9uKGHDsW8sbWVzKXsKICAjIFByaW1lcm8gbmVjZXNpdGFtb3MgY29udmVydGlyIGVsIG1lcyBlbiBwYWxhYnJhcyBhIG7Dum1lcm8gY29uIGRvcyBkw61naXRvcy4gCiAgIyBMbyBoYWNlbW9zIGNvbiB1biBkaWNjaW9uYXJpbyB5IGxhIGZ1bmNpw7NuIG1hdGNoCiAgZGljY2lvbmFyaW8gPSBjKCdFbmVybyc9JzAxJywKICAgICAgICAgICAgICAgICAgICdGZWJyZXJvJz0nMDInLAogICAgICAgICAgICAgICAgICAgJ01hcnpvJz0nMDMnLAogICAgICAgICAgICAgICAgICAgJ0FicmlsJz0nMDQnLAogICAgICAgICAgICAgICAgICAgJ01heW8nPScwNScsCiAgICAgICAgICAgICAgICAgICAnSnVuaW8nPScwNicsCiAgICAgICAgICAgICAgICAgICAnSnVsaW8nPScwNycsCiAgICAgICAgICAgICAgICAgICAnQWdvc3RvJz0nMDgnLAogICAgICAgICAgICAgICAgICAgJ1NlcHRpZW1icmUnPScwOScsCiAgICAgICAgICAgICAgICAgICAnT2N0dWJyZSc9JzEwJywKICAgICAgICAgICAgICAgICAgICdOb3ZpZW1icmUnPScxMScsCiAgICAgICAgICAgICAgICAgICAnRGljaWVtYnJlJz0nMTInKQogIG1lc19udW1lcmljbyA9IGRpY2Npb25hcmlvW21hdGNoKG1lcyxuYW1lcyhkaWNjaW9uYXJpbykpXSAjIEV4cGxvcmVuIGVzdG8gdW4gcG9jbyBlbiBsYSBjb25zb2xhIHBhcmEgdmVyIHF1w6kgaGFjZSBleGFjdGFtZW50ZS4KICBmZWNoYXMgPSBwYXN0ZShhw7FvLG1lc19udW1lcmljbywnMDEnLHNlcD0nLScpCiAgIyBGaWphbW9zIGVsIGTDrWEgc2llbXByZSBlbiBlbCBwcmltZXJvIGRlbCBtw6lzCiAgZmVjaGFzID0gYXMuRGF0ZShmZWNoYXMpICMgTG8gY29udmVydGltb3MgYSB1biBmb3JtYXRvIGRlIGZlY2hhCiAgcmV0dXJuKGZlY2hhcykKfQoKZGF0b3MkZmVjaGEgPSBhcm1hX2ZlY2hhKGRhdG9zJGHDsW8sZGF0b3MkbWVzKQpgYGAKCiMgUHJlZ3VudGFzCgojIyMjIMK/UXXDqSBwdWVkZSBkZWNpciBkZSBsYSBldm9sdWNpw7NuIGRlIGxhIHRlbXBlcmF0dXJhIGEgbG8gbGFyZ28gZGVsIHRpZW1wbz8KClJlYWxpY2UgdW4gZ3LDoWZpY28gcXVlIG11ZXN0cmUgbGEgdGVtcGVyYXR1cmEgbWVkaWEgZW4gZnVuY2nDs24gZGUgbGEgZmVjaGEuIF9TdWdlcmVuY2lhOiBhZ3JlZ2FuZG8gZW5fIGBwbG90KHgseSlgIF9sYSBvcGNpw7NuIGB0eXBlPSdsJ2Agb2J0ZW5lbW9zIHVuIGdyw6FmaWNvIGRlIGxpbmVhczpfIGBwbG90KHgseSx0eXBlPSdsJylgLgoKIyMjIyDCv1F1w6kgcHVlZGUgZGVjaXIgZGUgbGEgZXZvbHVjacOzbiBkZSBsYSBtw61uaW1hIHkgbGEgbcOheGltYSBlbiBmdW5jacOzbiBkZWwgdGllbXBvPwoKUmVhbGljZSB1biBncsOhZmljbyBxdWUgbXVlc3RyZSBsYSBldm9sdWNpw7NuIGRlIGxhcyB0cmVzIHRlbXBlcmF0dXJhcyAobcOtbmltYSwgbWVkaWEgeSBtw6F4aW1hKSBhIGxhIHZleiwgY29uIGxpbmVhcyB5IHVzYW5kbyBkaWZlcmVudGVzIGNvbG9yZXMuCl9Mb3MgY29sb3JlcyBsb3MgaW5kaWNhbW9zIHVzYW5kbyBsYSBvcGNpw7NuXyBgY29sYCBfIGVuIGxhIGZ1bmNpw7NuIGBwbG90YC4gX1BhcmEgYWdyZWdhciBsaW5lYXMgdXNhbW9zIGxhIGZ1bmNpw7NuIGBsaW5lc2AuCgoKIyMjIyDCv0VuIHF1w6kgYcOxbyB5IG1lcyBzZSByZWdpc3Ryw7MgbGEgdGVtcGVyYXR1cmEgbcOheGltYT8gwr9ZIGxhIG3DrW5pbWE/CgpEZXRlY3RlLCBhw7FvLCBtZXMgeSBmZWNoYSB5IHJlcGl0YSBlbCBncsOhZmljbyBhbnRlcmlvciwgYWdyZWdhbmRvIHVuIHB1bnRvIHJvam8geSB1bm8gYXp1bCBlbiBsYSBwb3NpY2nDs24gZGUgbGEgdGVtcGVyYXR1cmEgbcOheGltYSB5IG3DrW5pbWEuCl9QYXJhIGFncmVnYXIgcHVudG9zIGEgdW4gZ3LDoWZpY28sIHB1ZWRlIHVzYXIgbGEgZnVuY2nDs25fIGBwb2ludHNgIF8sIHNpbWlsYXIgYV8gYGxpbmVzYCBfLiBQYXJhIHViaWNhciBsYXMgcG9zaWNpb25lcyBkb25kZSBvY3VycmUgZWwgbcOheGltbyB5IGVsIG3DrW5pbW8gZGUgdW4gdmVjdG9yIGFwcm92ZWNoZSBsYXMgZnVuY2lvbmVzXyBgd2hpY2gubWF4YCBfeV8gYHdoaWNoLm1pbmAuCgoKIyMjIyDCv0VuIHRvcm5vIGEgcXVlIHZhbG9yIHJvbmRhIGxhIHRlbXBlcmF0dXJhIGVuIEMuQS5CLkEuPwoKQ2FsY3VsZSBsYXMgdGVtcGVyYXR1cmFzIHByb21lZGlvIHkgbWVkaWFuYSBhIGxvIGxhcmdvIGRlIHRvZG9zIGxvcyBhw7FvcyB1c2FuZG8gbGEgdGVtcGVyYXR1cmEgbWVkaWEgbWVuc3VhbC4gwr9Tb24gc2ltaWxhcmVzIGVuIGVzdGUgY2Fzbz8gQ2FsY3VsZSBsYSBkZXN2aWFjacOzbiBlc3RhbmRhciBkZSBsYSB0ZW1wZXJhdHVyYSBtZWRpYSB5IGxvcyBjdWFydGlsZXMgMXJvIHkgM3JvLCB5IGFncmVndWVsb3MgYWwgZ3LDoWZpY28gb3JpZ2luYWwgZGUgbGEgdGVtcGVyYXR1cmEgbWVkaWEuIF9MYSBmdW5jacOzbl8gYGFibGluZWAgX3Blcm1pdGUgZGlidWphciBsaW5lYXMgaG9yaXpvbnRhbGVzIGEgdHJhdsOpcyBkZSBzdSBhcmd1bWVudG9fIGBoYC4KCgojIyMjIMK/Q3XDoWwgZXMgZWwgbWVzIG3DoXMgZnJpbyBkZWwgYcOxbz8gwr9ZIGVsIG3DoXMgY8OhbGlkbz8KCkNhbGN1bGUgbGEgdGVtcGVyYXR1cmEgbWVkaWEsIG3DrW5pbWEgeSBtw6F4aW1hIHByb21lZGlvIHBhcmEgY2FkYSBtZXMsIHkgY29uc3RydXlhIHVuIGJhcnBsb3QgZGUgbGEgdGVtcGVyYXR1cmEgbWVkaWEgc2VwYXJhZG8gcG9yIG1lcy4gwr9RdcOpIG1lc2VzIHByZXNlbnRhbiB0ZW1wZXJhdHVyYXMgbcOhcyBhdMOtcGljYXM/CgojIyMjIMK/Q3XDoWwgZXMgZWwgbWVzIGNvbiB0ZW1wZXJhdHVyYSBtw6FzIHZhcmlhYmxlPwoKQ2FsY3VsZSBsYSB2YXJpYWJpbGlkYWQgZGUgbGEgdGVtcGVyYXR1cmEgZGUgY2FkYSBtZXMgY29tbyBgbcOheGltYS1tw61uaW1hYCAobGxhbWFkYSBfYW1wbGl0dWQgdMOpcm1pY2FfKSB5IGNhbGN1bGUgZWwgcHJvbWVkaW8gbWVuc3VhbCB5IGNvbnN0cnV5YSB1biBib3hwbG90IHBhcmEgY2FkYSBtZXMuIMK/RW4gcXXDqSBtZXMgZXMgbcOhcyB2YXJpYWJsZSBsYSB0ZW1wZXJhdHVyYT8gwr9ZIGVuIGN1w6FsIG1lbm9zPyDCv09ic2VydmEgdW5hIHJlbGFjacOzbiBjb24gbGEgdGVtcGVyYXR1cmEgZGVsIG1lcz8KCiMjIyMgwr9Dw7NtbyBzZSByZWxhY2lvbmFuIGxhIHRlbXBlcmF0dXJhIG1lZGlhIHkgbGEgdmFyaWFiaWxpZGFkPwoKR3JhZmlxdWUgbGEgdGVtcGVyYXR1cmEgbWVkaWEgY29udHJhIGxhIHZhcmlhYmlsaWRhZC4gwr9PYnNlcnZhIHVuYSByZWxhY2nDs24/IENhbGN1bGUgZWwgY29lZmljaWVudGUgZGUgY29ycmVsYWNpw7NuIGVudHJlIGFtYmFzLiDCv1NlIGNvbmRpY2UgY29uIGxvIHF1ZSBvYnNlcnZhIGVuIGVsIGdyw6FmaWNvPwoKIyMjIyDCv0PDs21vIGNhbWJpw7MgbGEgdGVtcGVyYXR1cmEgYSBsbyBsYXJnbyBkZSBsb3MgYcOxb3M/CgpHcmFmaXF1ZSBib3hwbG90cyBzZXBhcmFuZG8gbGEgdGVtcGVyYXR1cmEgbWVkaWEgcG9yIGHDsW8sIHkgbGEgYW1wbGl0dWQgdMOpcm1pY2EgcG9yIGHDsW8uIENhbGN1bGUgbGEgdGVtcGVyYXR1cmEgbWVkaWEsIG3DrW5pbWEgeSBtw6F4aW1hIHBvciBhw7FvLiDCv0RldGVjdGEgYWxnw7puIGHDsW8gZXNwZWNpYWxtZW50ZSBmcsOtbz8gR3JhZmlxdWUgbGEgdGVtcGVyYXR1cmEgbWVkaWEsIG3DoXhpbWEgeSBtw61uaW1hIGHDsW8gYSBhw7FvLiDCv1B1ZWRlIGRldGVjdGFyIHVuIGNhbWJpbyBhIGxvIGxhcmdvIGRlIGxvcyBhw7Fvcz8=