library(tidyverse)
Registered S3 method overwritten by 'dplyr':
  method           from
  print.rowwise_df     
Registered S3 methods overwritten by 'dbplyr':
  method         from
  print.tbl_lazy     
  print.tbl_sql      
── Attaching packages ───────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
✓ ggplot2 3.3.0     ✓ purrr   0.3.3
✓ tibble  2.1.3     ✓ dplyr   0.8.5
✓ tidyr   1.0.2     ✓ stringr 1.4.0
✓ readr   1.3.1     ✓ forcats 0.5.0
── Conflicts ──────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
library(ggbeeswarm)
dados_clima = read.csv("../data/clima_cg_jp-semanal.csv")

glimpse(dados_clima)
Observations: 2,748
Variables: 8
$ cidade <fct> Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Gran…
$ semana <fct> 1992-12-27T00:00:00Z, 1993-01-03T00:00:00Z, 1993-01-10T00:00:00Z, 1993-01-31T00:00:00Z, 1993-02-07T00:00:00Z, 1993-02-14T00:…
$ tmedia <dbl> 26.13333, 26.11905, 25.76667, 25.74000, 26.31429, 26.28571, 26.47143, 26.56667, 25.76667, 25.22857, 25.72381, 25.59048, 26.2…
$ tmax   <dbl> 30.4, 32.4, 32.2, 32.0, 32.7, 32.7, 32.3, 32.3, 32.1, 31.2, 32.2, 31.7, 32.7, 31.5, 31.9, 32.4, 32.6, 32.3, 32.4, 32.9, 32.3…
$ tmin   <dbl> 20.7, 19.3, 19.7, 19.9, 19.6, 20.0, 20.4, 21.2, 19.0, 19.0, 19.3, 19.9, 19.9, 20.0, 20.0, 20.0, 20.2, 20.9, 20.5, 20.8, 20.8…
$ chuva  <dbl> 0.0, 0.0, 0.0, 0.4, 0.3, 0.0, 4.9, 0.0, 0.0, 6.1, 0.4, 1.2, 0.0, 1.6, 0.0, 1.8, 0.8, 8.3, 2.4, 6.2, 1.3, 0.3, 2.4, 14.0, 0.0…
$ mes    <int> 12, 1, 1, 1, 2, 2, 2, 2, 10, 11, 11, 11, 11, 12, 12, 12, 12, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 1, 1, 1, 1, …
$ ano    <int> 1992, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1994, 1994, 1994, 1994…
dados_clima %>% 
  ggplot(mapping = aes(y = tmax, x = cidade, color = cidade)) +
  geom_quasirandom()

clima_jp = dados_clima %>% 
  filter(cidade == "João Pessoa")

clima_cg = dados_clima %>% 
  filter(cidade == "Campina Grande")
glimpse(dados_clima)
Observations: 2,748
Variables: 8
$ cidade <fct> Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Grande, Campina Gran…
$ semana <fct> 1992-12-27T00:00:00Z, 1993-01-03T00:00:00Z, 1993-01-10T00:00:00Z, 1993-01-31T00:00:00Z, 1993-02-07T00:00:00Z, 1993-02-14T00:…
$ tmedia <dbl> 26.13333, 26.11905, 25.76667, 25.74000, 26.31429, 26.28571, 26.47143, 26.56667, 25.76667, 25.22857, 25.72381, 25.59048, 26.2…
$ tmax   <dbl> 30.4, 32.4, 32.2, 32.0, 32.7, 32.7, 32.3, 32.3, 32.1, 31.2, 32.2, 31.7, 32.7, 31.5, 31.9, 32.4, 32.6, 32.3, 32.4, 32.9, 32.3…
$ tmin   <dbl> 20.7, 19.3, 19.7, 19.9, 19.6, 20.0, 20.4, 21.2, 19.0, 19.0, 19.3, 19.9, 19.9, 20.0, 20.0, 20.0, 20.2, 20.9, 20.5, 20.8, 20.8…
$ chuva  <dbl> 0.0, 0.0, 0.0, 0.4, 0.3, 0.0, 4.9, 0.0, 0.0, 6.1, 0.4, 1.2, 0.0, 1.6, 0.0, 1.8, 0.8, 8.3, 2.4, 6.2, 1.3, 0.3, 2.4, 14.0, 0.0…
$ mes    <int> 12, 1, 1, 1, 2, 2, 2, 2, 10, 11, 11, 11, 11, 12, 12, 12, 12, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 1, 1, 1, 1, …
$ ano    <int> 1992, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1994, 1994, 1994, 1994…
dados_clima %>% 
  filter(ano > 2018) %>% 
  ggplot(mapping = aes(x = semana, y = tmax, color = cidade, group = cidade)) +
  geom_line()

Sobreposição da chuva entre JP e CG

dados_clima %>% 
  ggplot(mapping = aes(y = chuva, x = semana, color = cidade)) +
  geom_point()

clima_jp %>% 
  filter(ano > 2010) %>% 
  ggplot(mapping = aes(x = semana, y = tmax, group = ano, color = as.factor(ano))) +
  geom_line()

clima_jp %>% 
  ggplot(mapping = aes(x = tmax)) +
  geom_histogram(binwidth = 1, fill = "white", color = "brown")

clima_cg %>% 
  ggplot(mapping = aes(x = tmax)) +
  geom_histogram(binwidth = 1, fill = "white", color = "brown")

clima_cg %>% 
  ggplot(mapping = aes(x = chuva)) +
  geom_histogram(binwidth = 10, fill = "white", color = "brown")

dados_clima %>% 
  ggplot(mapping = aes(x = chuva, fill = cidade)) +
  geom_histogram(binwidth = 10)

dados_clima %>% 
  ggplot(mapping = aes(x = chuva, color = cidade)) +
  geom_histogram(binwidth = 10, fill = "white") +
  facet_grid(cidade ~ .)

dados_clima %>% 
  filter(ano > 2015, ano < 2019) %>% 
  ggplot(mapping = aes(x = tmax, color = cidade)) +
  geom_histogram(fill = "white", binwidth = 1) +
  facet_grid(cidade ~ ano)

dados_clima %>% 
  filter(ano > 2010) %>% 
  ggplot(mapping = aes(x = tmax, color = cidade)) +
  geom_density(fill = "white") +
  facet_wrap(~ ano)

dados_clima %>% 
  filter(ano > 2014) %>% 
  ggplot(mapping = aes(x = chuva, color = cidade)) +
  geom_density(fill = "white") +
  facet_wrap(~ ano)

dados_clima %>% 
  filter(ano == 2014) %>% 
  ggplot(mapping = aes(x = tmax, color = cidade)) +
  geom_density(fill = "white") +
  facet_wrap(~ mes)

clima_cg %>% 
  filter(ano > 2014) %>% 
  ggplot(mapping = aes(y = tmax, group = mes)) +
  geom_boxplot()

sumariza_cidade = function(dataset, funcao) {
  dataset %>% 
    group_by(cidade) %>% 
    summarise(calor_medio = funcao(tmax))
}

dados_clima %>% 
  sumariza_cidade(mean)

dados_clima %>% 
  sumariza_cidade(min)

dados_clima %>% 
  sumariza_cidade(max)
LS0tCnRpdGxlOiAiRURBIFVGQ0c6IENsaW1hIC0gQXByb2Z1bmRhbWVudG8gc29icmUgR0dQTE9UIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoZ2diZWVzd2FybSkKYGBgCgpgYGB7cn0KZGFkb3NfY2xpbWEgPSByZWFkLmNzdigiLi4vZGF0YS9jbGltYV9jZ19qcC1zZW1hbmFsLmNzdiIpCgpnbGltcHNlKGRhZG9zX2NsaW1hKQpgYGAKCmBgYHtyfQpkYWRvc19jbGltYSAlPiUgCiAgZ2dwbG90KG1hcHBpbmcgPSBhZXMoeSA9IHRtYXgsIHggPSBjaWRhZGUsIGNvbG9yID0gY2lkYWRlKSkgKwogIGdlb21fcXVhc2lyYW5kb20oKQpgYGAKCmBgYHtyfQpjbGltYV9qcCA9IGRhZG9zX2NsaW1hICU+JSAKICBmaWx0ZXIoY2lkYWRlID09ICJKb8OjbyBQZXNzb2EiKQoKY2xpbWFfY2cgPSBkYWRvc19jbGltYSAlPiUgCiAgZmlsdGVyKGNpZGFkZSA9PSAiQ2FtcGluYSBHcmFuZGUiKQoKYGBgCgpgYGB7cn0KZ2xpbXBzZShkYWRvc19jbGltYSkKCmRhZG9zX2NsaW1hICU+JSAKICBmaWx0ZXIoYW5vID4gMjAxOCkgJT4lIAogIGdncGxvdChtYXBwaW5nID0gYWVzKHggPSBzZW1hbmEsIHkgPSB0bWF4LCBjb2xvciA9IGNpZGFkZSwgZ3JvdXAgPSBjaWRhZGUpKSArCiAgZ2VvbV9saW5lKCkKYGBgCgoKU29icmVwb3Npw6fDo28gZGEgY2h1dmEgZW50cmUgSlAgZSBDRwoKYGBge3J9CmRhZG9zX2NsaW1hICU+JSAKICBnZ3Bsb3QobWFwcGluZyA9IGFlcyh5ID0gY2h1dmEsIHggPSBzZW1hbmEsIGNvbG9yID0gY2lkYWRlKSkgKwogIGdlb21fcG9pbnQoKQpgYGAKCmBgYHtyfQpjbGltYV9qcCAlPiUgCiAgZmlsdGVyKGFubyA+IDIwMTApICU+JSAKICBnZ3Bsb3QobWFwcGluZyA9IGFlcyh4ID0gc2VtYW5hLCB5ID0gdG1heCwgZ3JvdXAgPSBhbm8sIGNvbG9yID0gYXMuZmFjdG9yKGFubykpKSArCiAgZ2VvbV9saW5lKCkKYGBgCgoKYGBge3J9CmNsaW1hX2pwICU+JSAKICBnZ3Bsb3QobWFwcGluZyA9IGFlcyh4ID0gdG1heCkpICsKICBnZW9tX2hpc3RvZ3JhbShiaW53aWR0aCA9IDEsIGZpbGwgPSAid2hpdGUiLCBjb2xvciA9ICJicm93biIpCmBgYAoKYGBge3J9CmNsaW1hX2NnICU+JSAKICBnZ3Bsb3QobWFwcGluZyA9IGFlcyh4ID0gdG1heCkpICsKICBnZW9tX2hpc3RvZ3JhbShiaW53aWR0aCA9IDEsIGZpbGwgPSAid2hpdGUiLCBjb2xvciA9ICJicm93biIpCmBgYApgYGB7cn0KY2xpbWFfY2cgJT4lIAogIGdncGxvdChtYXBwaW5nID0gYWVzKHggPSBjaHV2YSkpICsKICBnZW9tX2hpc3RvZ3JhbShiaW53aWR0aCA9IDEwLCBmaWxsID0gIndoaXRlIiwgY29sb3IgPSAiYnJvd24iKQpgYGAKCmBgYHtyfQpkYWRvc19jbGltYSAlPiUgCiAgZ2dwbG90KG1hcHBpbmcgPSBhZXMoeCA9IGNodXZhLCBmaWxsID0gY2lkYWRlKSkgKwogIGdlb21faGlzdG9ncmFtKGJpbndpZHRoID0gMTApCmBgYAoKYGBge3J9CmRhZG9zX2NsaW1hICU+JSAKICBnZ3Bsb3QobWFwcGluZyA9IGFlcyh4ID0gY2h1dmEsIGNvbG9yID0gY2lkYWRlKSkgKwogIGdlb21faGlzdG9ncmFtKGJpbndpZHRoID0gMTAsIGZpbGwgPSAid2hpdGUiKSArCiAgZmFjZXRfZ3JpZChjaWRhZGUgfiAuKQpgYGAKCgpgYGB7cn0KZGFkb3NfY2xpbWEgJT4lIAogIGZpbHRlcihhbm8gPiAyMDE1LCBhbm8gPCAyMDE5KSAlPiUgCiAgZ2dwbG90KG1hcHBpbmcgPSBhZXMoeCA9IHRtYXgsIGNvbG9yID0gY2lkYWRlKSkgKwogIGdlb21faGlzdG9ncmFtKGZpbGwgPSAid2hpdGUiLCBiaW53aWR0aCA9IDEpICsKICBmYWNldF9ncmlkKGNpZGFkZSB+IGFubykKYGBgCmBgYHtyfQpkYWRvc19jbGltYSAlPiUgCiAgZmlsdGVyKGFubyA+IDIwMTApICU+JSAKICBnZ3Bsb3QobWFwcGluZyA9IGFlcyh4ID0gdG1heCwgY29sb3IgPSBjaWRhZGUpKSArCiAgZ2VvbV9kZW5zaXR5KGZpbGwgPSAid2hpdGUiKSArCiAgZmFjZXRfd3JhcCh+IGFubykKYGBgCgpgYGB7cn0KZGFkb3NfY2xpbWEgJT4lIAogIGZpbHRlcihhbm8gPiAyMDE0KSAlPiUgCiAgZ2dwbG90KG1hcHBpbmcgPSBhZXMoeCA9IGNodXZhLCBjb2xvciA9IGNpZGFkZSkpICsKICBnZW9tX2RlbnNpdHkoZmlsbCA9ICJ3aGl0ZSIpICsKICBmYWNldF93cmFwKH4gYW5vKQpgYGAKCmBgYHtyfQpkYWRvc19jbGltYSAlPiUgCiAgZmlsdGVyKGFubyA9PSAyMDE0KSAlPiUgCiAgZ2dwbG90KG1hcHBpbmcgPSBhZXMoeCA9IHRtYXgsIGNvbG9yID0gY2lkYWRlKSkgKwogIGdlb21fZGVuc2l0eShmaWxsID0gIndoaXRlIikgKwogIGZhY2V0X3dyYXAofiBtZXMpCmBgYAoKYGBge3J9CmNsaW1hX2NnICU+JSAKICBmaWx0ZXIoYW5vID4gMjAxNCkgJT4lIAogIGdncGxvdChtYXBwaW5nID0gYWVzKHkgPSB0bWF4LCBncm91cCA9IG1lcykpICsKICBnZW9tX2JveHBsb3QoKQpgYGAKCmBgYHtyfQpzdW1hcml6YV9jaWRhZGUgPSBmdW5jdGlvbihkYXRhc2V0LCBmdW5jYW8pIHsKICBkYXRhc2V0ICU+JSAKICAgIGdyb3VwX2J5KGNpZGFkZSkgJT4lIAogICAgc3VtbWFyaXNlKGNhbG9yX21lZGlvID0gZnVuY2FvKHRtYXgpKQp9CgpkYWRvc19jbGltYSAlPiUgCiAgc3VtYXJpemFfY2lkYWRlKG1lYW4pCgpkYWRvc19jbGltYSAlPiUgCiAgc3VtYXJpemFfY2lkYWRlKG1pbikKCmRhZG9zX2NsaW1hICU+JSAKICBzdW1hcml6YV9jaWRhZGUobWF4KQpgYGAKCg==