Visualización de datos con R

Paquetes y librerias necesarias.

install.packages("dplyr")
install.packages("readr")
install.packages("ggplot2")
library(dplyr)
library(readr)
library(ggplot2)

Ejercicio 1

Crear un nuevo dataframe que sea un subconjunto del dataframe original de dfFires. El subconjunto debe contener todos los incendios del Estado de Idaho y las columnas deben ser limitadas para que sólo estén presentes las columnas YEAR_, CAUSE y TOTALACRES. Cambie el nombre de las columnas. Agrupe los datos por CAUSE y YEAR_ y luego resuma por el total de acres quemados. Trazar los resultados.

DataFrame

dfFires = read_csv("StudyArea.csv", col_types = list(UNIT = col_character()), col_names = TRUE)
knitr::kable(head(dfFires))
FID ORGANIZATI UNIT SUBUNIT SUBUNIT2 FIRENAME CAUSE YEAR_ STARTDATED CONTRDATED OUTDATED STATE STATE_FIPS TOTALACRES
0 FWS 81682 USCADBR San Diego Bay National Wildlife Refuge PUMP HOUSE Human 2001 1/1/01 0:00 1/1/01 0:00 NA California 6 0.1
1 FWS 81682 USCADBR San Diego Bay National Wildlife Refuge I5 Human 2002 5/3/02 0:00 5/3/02 0:00 NA California 6 3.0
2 FWS 81682 USCADBR San Diego Bay National Wildlife Refuge SOUTHBAY Human 2002 6/1/02 0:00 6/1/02 0:00 NA California 6 0.5
3 FWS 81682 USCADBR San Diego Bay National Wildlife Refuge MARINA Human 2001 7/12/01 0:00 7/12/01 0:00 NA California 6 0.1
4 FWS 81682 USCADBR San Diego Bay National Wildlife Refuge HILL Human 1994 9/13/94 0:00 9/13/94 0:00 NA California 6 1.0
5 FWS 81682 USCADBR San Diego Bay National Wildlife Refuge IRRIGATION Human 1994 4/22/94 0:00 4/22/94 0:00 NA California 6 0.1

Creación de nuevo DataFrame

dfidaho = filter(dfFires, STATE == 'Idaho')
dfidaho2 = select(dfidaho, "Año" = "YEAR_" ,"Causa"= "CAUSE", "Acres" = "TOTALACRES")
knitr::kable(head(dfidaho2))
Año Causa Acres
1987 Human 5
1991 Natural 150
1991 Human 800
1990 Natural 2
1985 Human 38
1988 Human 2

Agrupación de los datos y resumen

  • Agrupación por Causa.
causa = group_by(dfidaho2, Causa)
sum1 = summarize(causa, Mean_acres = mean(Acres, na.rm = TRUE))
knitr::kable(sum1)
Causa Mean_acres
Human 323.21098
Natural 555.29820
Undetermined 300.41667
NA 82.84651
ggplot(data=sum1) + 
  geom_col(mapping = aes(x=Causa, y=Mean_acres), fill="#D15FEE") +   labs(title = "Acres Afectados en cada causa.",
       x = "Causas",
       y = "Promedio Acres quemados") 

  • Agrupación por Año
dfidaho2 <- mutate(dfidaho2, Decada = ifelse(Año %in% 1980:1989, "1980-1989", 
                          ifelse(Año %in% 1990:1999, "1990-1999",
                          ifelse(Año %in% 2000:2009, "2000-2009", 
                          ifelse(Año %in% 2010:2016, "2010-2016", "-99")))))
año = group_by(dfidaho2, Decada)
sum2 = summarize(año, Mean_acres = mean(Acres, na.rm = TRUE))
knitr::kable(head(año))
Año Causa Acres Decada
1987 Human 5 1980-1989
1991 Natural 150 1990-1999
1991 Human 800 1990-1999
1990 Natural 2 1990-1999
1985 Human 38 1980-1989
1988 Human 2 1980-1989
ggplot(data=sum2) + geom_col(mapping = aes(x=Decada, y=Mean_acres), fill="#D15FEE")+   labs(title = "Acres Afectados en cada década.",
       x = "Décadas",
       y = "Promedio Acres quemados") 

  • Agrupación por Causa y Año
dfidaho2$Acres <- as.numeric(as.character(dfidaho2$Acres))
df = dfidaho2 %>%
  group_by(Decada,Causa) %>%
  summarize(Mean_acres = mean(Acres, na.rm = TRUE))
knitr::kable(head(df))
Decada Causa Mean_acres
1980-1989 Human 571.80455
1980-1989 Natural 517.23274
1980-1989 NA 52.58621
1990-1999 Human 236.62499
1990-1999 Natural 281.89232
1990-1999 NA 167.35833
mis_colores <- c( "#CD1076",  "#B4EEB4", "#68228B")

ggplot(df , aes(x = Decada , y = Mean_acres , fill = Causa)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Acres afectados por causa en diferentes décadas",
       x = "Décadas",
       y = "Total Acres quemados", fill = "Causas") + scale_fill_manual(values = mis_colores)