En este cuaderno se realizarán una serie de ejercicios de
visualización y descripción utilizando un conjunto de datos llamado
StudyArea.csv, que es un archivo separado por comas que
contiene datos de incendios forestales de los años 1980-2016 para los
estados de California, Oregón, Washington, Idaho, Montana, Wyoming,
Colorado, Utah, Nevada, Arizona y Nuevo México. Sin embargo, antes de
proceder, prepararemos el entorno de trabajo y definiremos una función
que será de utilidad más adelante:
library(readr)
library(dplyr)
library(ggplot2)
Antes de comenzar a realizar los ejercicios propuestos, se debe
importar la base de datos y filtrarla para incluir solo las variables de
YEAR_, CAUSE y TOTALACRES:
dfFires <- read_csv("StudyArea.csv", col_types = list(UNIT = col_character()), col_names = TRUE)
dfFires_subset <- select(dfFires, c("YEAR_", "CAUSE", "TOTALACRES"))
dfFires_subset$YEAR_ <- as.factor(dfFires_subset$YEAR_) # Convert data to factors
dfFires_subset$CAUSE <- as.factor(dfFires_subset$CAUSE) # Convert data to factors
Ahora procedemos a cambiar el nombre de las variables para facilitar la manipulación del conjunto de datos:
dfFires_subset_rename <- rename(dfFires_subset, Year = YEAR_, Cause = CAUSE, Burned_Acres = TOTALACRES)
head(dfFires_subset_rename)
## # A tibble: 6 × 3
## Year Cause Burned_Acres
## <fct> <fct> <dbl>
## 1 2001 Human 0.1
## 2 2002 Human 3
## 3 2002 Human 0.5
## 4 2001 Human 0.1
## 5 1994 Human 1
## 6 1994 Human 0.1
Al realizar una primera inspección de los datos, se nota que hay
múltiples observaciones con causas etiquetadas como
Undetermined, Unknown o datos faltantes:
summary(dfFires_subset_rename$Cause)
## Human Natural Undetermined Unknown NA's
## 194466 243486 169 9 1232
Debido a que estas tres categorías apuntan a que la causa del
incendio no fue determinada, se procede a colapsar estas tres categorías
y etiquetarlas como Undetermined:
dfFires_subset_rename$Cause <- as.character(dfFires_subset_rename$Cause)
dfFires_subset_rename$Cause <- ifelse(is.na(dfFires_subset_rename$Cause) | !(dfFires_subset_rename$Cause %in% c("Human", "Natural")), "Undetermined", dfFires_subset_rename$Cause)
dfFires_subset_rename$Cause <- as.factor(dfFires_subset_rename$Cause)
summary(dfFires_subset_rename$Cause)
## Human Natural Undetermined
## 194466 243486 1410
Hecho esto, se procede a agrupar los datos en términos del año y la causa del incendio, para posteriormente realizar un análisis descriptivo centrado en la cantidad total de acres quemados:
df_summary <- dfFires_subset_rename %>%
group_by(Cause, Year) %>%
summarise(Total_Burned_Acres = sum(Burned_Acres), .groups = "drop")
head(df_summary)
## # A tibble: 6 × 3
## Cause Year Total_Burned_Acres
## <fct> <fct> <dbl>
## 1 Human 1980 338450.
## 2 Human 1981 523872.
## 3 Human 1982 188587.
## 4 Human 1983 266244.
## 5 Human 1984 441094.
## 6 Human 1985 587403.
Finalmente, se traza el total de acres quemados por año y causa utilizando un diagrama de líneas:
ggplot(df_summary, aes(x = Year, y = Total_Burned_Acres, color = Cause, group = Cause)) + geom_line(linewidth = 1) + geom_point(size = 2) + scale_y_continuous(labels = scales::comma_format(scale = 1e-6, suffix = "M")) + theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1), axis.title.x = element_text(size = 12), axis.title.y = element_text(size = 12),plot.title = element_text(hjust = 0.5, size = 16)) + labs(x = "Year", y = "Total Acres Burned (Millions)", title = "Total Acres Burned by Cause over the Years")