Questões respondidas: 1 e 2.
Dupla: Daniel Rodrigues Coura Daniele Aparecida de Melo Silva Coura
library(tidyverse)
library(here)
theme_set(theme_bw())
# SEMPRE read_csv NUNCA read.csv
clima_tudo = read_csv(
here("data/tempo-jp-cg-pt.csv"),
col_types = cols(
.default = col_double(),
cidade = col_character(),
semana = col_date(format = ""),
ano = col_integer(),
mes = col_integer()
)
)
Utilizando as medições entre os anos 2010 e 2019 em Patos, construímos ambos os gráficos abaixo para mostrar a distribuição das temperaturas e chuvas.
Tanto nos meses de aula quanto nas férias, as temperaturas estão em um intervalo entre 26 e 32 ºC. As médias de temperatura são muito semelhantes em ambos os grupos, aproximadamente 29 ºC.
Nos meses de aula, a temperatura tem distribuição simétrica, com concentração em torno da média. Já no período de férias, há concentração em torno de 31 ºC.
Logo, os meses de aula apresentaram clima melhor com relação à temperatura.
meses_clima <-
clima_tudo %>%
filter(ano %in% 2010:2019, cidade == "Patos") %>%
group_by(ano, mes) %>%
summarise(
temp_media = mean(temp_media, na.rm = TRUE),
chuva_media = mean(chuva, na.rm = TRUE),
.groups = "drop",
) %>%
mutate(is_ferias = mes %in% c(1, 7, 12))
# meses_clima %>%
# ggplot(aes(y = "", x = temp_media, color = is_ferias)) +
# geom_jitter(alpha = 0.6, height = 0.2) +
# stat_summary(
# geom = "point",
# color = "red",
# size = 3,
# fun = median
# ) +
# stat_summary(
# geom = "point",
# color = "blue",
# size = 3,
# fun = mean
# ) +
# facet_wrap(~ is_ferias, ncol = 1) +
# labs(title = "Distribuição das temperaturas nos meses de aulas vs férias",
# x = "Temperatura média (ºC)")
meses_clima %>%
ggplot(aes(x = temp_media, fill = is_ferias)) +
geom_density(alpha = 0.6) +
geom_rug() +
facet_wrap( ~ is_ferias, ncol = 1, ) +
labs(title = "Gráfico de densidade da temperatura média nos meses de aulas vs férias",
x = "Temperatura média (ºC)", y = "Densidade", fill = "") +
scale_fill_manual(labels = c("Meses de aula", "Meses de férias"), values = c("salmon", "lightgreen"))
# meses_clima %>%
# group_by(is_ferias) %>%
# summarise(
# count = n(),
# median = median(temp_media, na.rm = TRUE),
# mean = mean(temp_media, na.rm = TRUE),
# min = min(temp_media),
# max = max(temp_media),
# interquartil = IQR(temp_media),
# amplitude = max(temp_media) - min(temp_media),
# .groups = "drop"
# )
Com relação às chuvas, nos meses de férias há mais ocorrência de chuvas fortes (acima de 10mm) do que nos meses de aula.
As médias de chuva são bem próximas, 11,3mm nos meses de aula e 10,1mm nos meses de férias, porém a chuva no meses de aulas varia em um intervalo menor do que nas férias, segundo a distância interquartil.
Os meses de férias são mais chuvosos que os de aula, porém são os mais quentes. Com isso, concluímos que o clima dos meses de aula é mais agradável.
# meses_clima %>%
# ggplot(aes(y = "", x = chuva_media, color = is_ferias)) +
# geom_jitter(alpha = 0.6, height = 0.2) +
# stat_summary(geom = "point", color = "red", size = 3, fun = median) +
# stat_summary(geom = "point", color = "blue", size = 3, fun = mean) +
# facet_wrap(~is_ferias, ncol = 1)
meses_clima %>%
ggplot(aes(x = chuva_media, fill = is_ferias)) +
geom_density() +
geom_rug() +
facet_wrap(~is_ferias, ncol = 1) +
labs(title = "Gráfico de densidade da chuva nos meses de aulas vs férias",
x = "Chuva (mm)", y = "Densidade", fill = "") +
scale_fill_manual(labels = c("Meses de aula", "Meses de férias"), values = c("salmon", "lightgreen"))
# meses_clima %>%
# group_by(is_ferias) %>%
# summarise(
# count = n(),
# median = median(chuva_media, na.rm = TRUE),
# mean = mean(chuva_media, na.rm = TRUE),
# interquartil = IQR(chuva_media),
# min = min(temp_media),
# max = max(temp_media),
# amplitude = max(chuva_media) - min(chuva_media),
# .groups = "drop"
# )
Considerando apenas as medições de 2019, os dois gráficos abaixo mostram a distribuição das chuvas nas 3 cidades.
Observamos que João Pessoa foi a cidade que teve mais semanas com chuvas fortes (a partir de 10mm), quase o dobro de semanas que Patos. Em João Pessoa, houve uma semana onde choveu mais de 400mm!
A distância interquartil das chuvas de Campina Grande é a menor entre as três cidades, indicando que as medições das chuvas variam em um intervalo menor.
Considerando as semanas com chuva, Campina Grande e Patos têm medianas próximas (aproximadamente 11mm), enquanto a de João Pessoa é o dobro (22,6mm).
Quanto a frequência de chuvas, Patos é a cidade que passa mais semanas sem chover (46% das semanas).
# clima_tudo %>%
# filter(ano == 2019, chuva > 0) %>%
# group_by(cidade) %>%
# summarise(count = n(), median = median(chuva, na.rm = TRUE), interquartil = IQR(chuva), .groups = "drop")
# clima_tudo %>%
# filter(ano == 2019, chuva == 0) %>%
# group_by(cidade) %>%
# summarise(sem_chuva = n()/52, .groups = "drop")
clima_tudo %>%
filter(ano == 2019, chuva > 0) %>%
ggplot(aes(y = "", x = chuva)) +
geom_jitter(alpha = 0.3, height = 0.2, color = "chocolate") +
stat_summary(geom = "point", color = "blue", size = 3, fun = median) +
facet_wrap(~cidade, ncol = 1) +
labs(title = "Gráfico das semanas com chuva nas 3 cidades", subtitle = "O ponto azul é a mediana",
x = "Chuva (mm)", y = "", fill = "")
clima_tudo %>%
filter(ano == 2019) %>%
ggplot(aes(x = chuva)) +
geom_histogram(color = "black", fill = "lightblue", binwidth = 10) +
facet_wrap(~cidade, ncol = 1) +
labs(title = "Histograma da quantidade de chuva nas 3 cidades",
x = "Chuva (mm)", y = "", fill = "")
Utilizando os dados de 2010 a 2019, construímos o gráfico de densidade a seguir com as medições de umidade nas 3 cidades. Adicionamos dois limites para indicar a umidade do ar ideal à saúde (entre 50% e 80%, segundo a OMS).
A umidade de João Pessoa e Campina Grande se concentraram mais à direita, de 60% a 90%. Enquanto Patos teve entre 40% a 80% de umidade, apresentando a maior amplitude.
João Pessoa é a cidade mais benéfica para quem tem problemas respiratórios, pois 87% das semanas têm umidade dentro do intervalo ideal. Campina Grande fica em segundo lugar, com 70%. Patos é a cidade menos benéfica, pois apenas 66% das semanas estão dentro do intervalo ideal
umidade <-
clima_tudo %>%
filter(ano %in% 2010:2019)
umidade %>%
ggplot(aes(x = umidade, fill = cidade)) +
geom_density(na.rm = TRUE) +
geom_rug() +
facet_wrap(~cidade, ncol = 1) +
geom_vline(xintercept = 50) +
geom_vline(xintercept = 80) +
labs(title = "Gráfico de densidade da umidade média em três cidades",
x = "Umidade (%)", y = "Densidade", fill = "")
# umidade %>%
# group_by(cidade) %>%
# mutate(ideal = umidade >= 50 & umidade <= 80) %>%
# summarise(
# ideal_per = sum(ideal, na.rm = TRUE) / n(),
# .groups = "drop"
# )
# umidade %>%
# group_by(cidade) %>%
# summarise(
# count = n(),
# median = median(umidade, na.rm = TRUE),
# mean = mean(umidade, na.rm = TRUE),
# interquartil = IQR(umidade, na.rm = TRUE),
# amplitude = max(umidade, na.rm = TRUE) - min(umidade, na.rm = TRUE),
# .groups = "drop"
# )