## ---- include = FALSE--------------------------------------------------------- knitr::opts_chunk$set( echo = TRUE, message = FALSE, warning = FALSE, collapse = TRUE, comment = "#>", fig.align = "center", fig.retina = 2) ## ---- include = TRUE, messgae = FALSE----------------------------------------- # First make sure you have the package downloaded! # devtools::install_github("mcconvil/pdxTrees") # Loading the required libraries library(pdxTrees) library(ggplot2) library(dplyr) library(forcats) ## ----------------------------------------------------------------------------- # Leaving the argument field blank pulls data for all of the parks! pdxTrees_parks <- get_pdxTrees_parks() ## ---- fig.width= 6, fig.height=4---------------------------------------------- # A histogram of the inventory date pdxTrees_parks %>% count(Inventory_Date) %>% # Setting the aesthetics ggplot(aes(x = Inventory_Date)) + # Specifying a histogram and picking color! geom_histogram(bins = 50, fill = "darkgreen", color = "black") + labs( x = "Inventory Date", y = "Count", title= "When was pdxTrees_parks Inventoried?") + # Adding a theme theme_minimal() + theme(plot.title = element_text(hjust = 0.5)) ## ----leaflet packages--------------------------------------------------------- # Loading the leaflet packages library(leaflet) library(leaflet.extras) ## ----leaflet graph, fig.width= 8, fig.height=6-------------------------------- # Making the leaf popup icon greenLeaflittle <- makeIcon( iconUrl = "http://leafletjs.com/examples/custom-icons/leaf-green.png", iconWidth = 10, iconHeight = 20, iconAnchorX = 10, iconAnchorY = 10, shadowUrl = "http://leafletjs.com/examples/custom-icons/leaf-shadow.png", shadowWidth = 10, shadowHeight = 15, shadowAnchorX = 5, shadowAnchorY = 5 ) # Pulling the data for Berkely Park berkeley_prk <- get_pdxTrees_parks(park = "Berkeley Park") # Creating the popup label labels <- paste("", "Common Name:", berkeley_prk$Common_Name, "
", "Factoid: ", berkeley_prk$Species_Factoid) # Creating the map leaflet() %>% # Setting the lng and lat to be in the general area of Berekely Park setView(lng = -122.6239, lat = 45.4726, zoom = 17) %>% # Setting the background tiles addProviderTiles(providers$Esri.WorldTopoMap) %>% # Adding the leaf markers with the popup data on top of the circles markers addMarkers( ~Longitude, ~Latitude, data = berkeley_prk, icon = greenLeaflittle, popup = ~labels) %>% # Adding the mini map at the bottom right corner addMiniMap() ## ----------------------------------------------------------------------------- library(gganimate) ## ----animated graph----------------------------------------------------------- # Refactoring the categorical mature_size variable berkeley_prk <- berkeley_prk %>% mutate(mature_size = fct_relevel(Mature_Size, "S", "M", "L")) # First creating the graph using ggplot and saving it! berkeley_graph <- berkeley_prk %>% # Piping in the data ggplot(aes(x = Tree_Height, y = Pollution_Removal_value, color = Mature_Size)) + # Creating the scatterplot geom_point(size = 2, alpha = 0.5) + theme_minimal() + # Adding the labels labs(title = "Pollution Removal Value of Berkeley Park Trees", x = "Tree Height", y = "Pollution Removal Value ($'s annually)", color = "Mature Size") + # Adding a color palette scale_color_brewer(type = "seq", palette = "Set1") + # Customizing the title font theme(plot.title = element_text(hjust = 0.5, size = 8, face = "bold"), axis.title.x = element_text(size = 6), axis.text = element_text(size = 4), axis.title.y = element_text(size = 6), legend.title = element_text(size = 6), legend.text = element_text(size= 4)) ## ---- out.width = "90%"------------------------------------------------------- # Then adding the animation with gganimate functions berkeley_graph + # Choosing which variable we want to annimate transition_states(states = Mature_Size, # How long each point stays before fading away transition_length = 10, # Time the transition takes state_length = 8) + # Animation for the points entering enter_grow() + # Animation for the points exiting exit_shrink() ## ----linear regression graph, warning = FALSE, fig.width = 6, fig.height = 4---- # Visualizing the relationship between the two variables. ggplot(pdxTrees_parks, aes(x = Tree_Height, y = Pollution_Removal_value)) + # Creating a scatter plot geom_point(alpha = 0.05) + # Adding the line of best fit stat_smooth(method = lm, se = FALSE) + theme_minimal() + labs(x = "Tree Height", y = "Pollution Removal Value ($)") ## ----linear regression, warning = FALSE--------------------------------------- # moderndive is where the get_regression_table() function lives library(moderndive) # Running a linear regression of Pollution_Removal_value on Tree_Height mod <- lm(Pollution_Removal_value ~ Tree_Height, data = pdxTrees_parks) # Printing the coefficients table get_regression_table(mod)