Base de dados
A base de dados foi obtida no site do Instituto Nacional de Meteorologia.
## # A tibble: 743 x 20
## codigo_estacao data hora temp_inst temp_max temp_min umid_inst
## <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 A627 01/0… 18 30.5 31 29.5 58
## 2 A627 01/0… 10 22.2 22.2 21.6 86
## 3 A627 01/0… 17 29.8 30.7 28.9 53
## 4 A627 01/0… 06 23.1 23.2 22.2 81
## 5 A627 01/0… 00 24.9 24.9 24.7 72
## 6 A627 01/0… 23 26 26.7 26 78
## 7 A627 01/0… 02 24.6 24.7 24.6 74
## 8 A627 01/0… 14 27.5 27.5 26.4 69
## 9 A627 01/0… 09 21.7 22.7 21.6 88
## 10 A627 01/0… 16 28.9 29.3 28.1 63
## # … with 733 more rows, and 13 more variables: umid_max <dbl>,
## # umid_min <dbl>, pto_orvalho_inst <dbl>, pto_orvalho_max <dbl>,
## # pto_orvalho_min <dbl>, pressao <dbl>, pressao_max <dbl>,
## # pressao_min <dbl>, vento_direcao <dbl>, vento_vel <dbl>,
## # vento_rajada <dbl>, radiacao <dbl>, precipitacao <dbl>
Em nossa base de dados a coluna de interesse é a de precipitação, baseado nela foi realizada manipulação fazendo a soma dos valores agrupados pela data. Após, baseado na coluna resultante da manipulação realizada, foi criado uma coluna auxiliar prec_chuva para indicar se houve ou não chuva, utilizando a condição de que se o valor observado for maior que 0, houve chuva.
chuva <-
dados %>%
group_by(data) %>%
summarise(precip_chuva = sum(precipitacao)) %>%
mutate(chuva = ifelse(precip_chuva>0,1,0))
chuva$precip_chuva## [1] 0.0 0.0 0.0 0.0 0.0 0.0 32.2 1.8 0.0 0.0 0.0 0.0 0.0 0.0
## [15] 11.8 0.0 24.2 9.0 0.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
## [29] 0.0 0.0 0.0
Visualização
dfr <- data.frame(date=seq(as.Date('2019-04-29'), as.Date('2019-05-31'), by=1))
dfr$day <- factor(strftime(dfr$date,format="%a"), levels=rev(c("Mon","Tue","Wed","Thu","Fri","Sat","Sun")))
dfr$week <- factor(strftime(dfr$date,format="%V"))
dfr$month <- factor(strftime(dfr$date,format="%B"), levels=c("April","May"))
dfr$ddate <- factor(strftime(dfr$date,format="%d"))
head(dfr[-c(1:2),])## date day week month ddate
## 3 2019-05-01 Wed 18 May 01
## 4 2019-05-02 Thu 18 May 02
## 5 2019-05-03 Fri 18 May 03
## 6 2019-05-04 Sat 18 May 04
## 7 2019-05-05 Sun 18 May 05
## 8 2019-05-06 Mon 19 May 06
dfr$comment <- "Não Choveu"
dfr$comment[dfr$date==as.Date('2019-05-07') | dfr$date==as.Date('2019-05-08')] <- "Choveu"
dfr$comment[dfr$date==as.Date('2019-05-15') | dfr$date==as.Date('2019-05-17')] <- "Choveu"
dfr$comment[dfr$date==as.Date('2019-05-18') | dfr$date==as.Date('2019-05-19')] <- "Choveu"
dfr$comment <- factor(dfr$comment,levels=c("Não Choveu","Choveu"))
ggplot(dfr[-c(1:2),],aes(x=week,y=day))+
geom_tile(aes(fill=comment))+
geom_text(aes(label=ddate))+
scale_fill_manual(values=c("#8dd3c7","#ffffb3"))+
facet_grid(~month,scales="free",space="free")+
labs(x="Semana",y="")+
theme_bw(base_size=10)+
theme(legend.title=element_blank(),
panel.grid=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
strip.background=element_blank(),
legend.position="top",
legend.justification="right",
legend.direction="horizontal",
legend.key.size=unit(0.3,"cm"),
legend.spacing.x=unit(0.2,"cm"))