So the R Innovation I worked on was the leaflet package, which can help incorporate map data.

library(tidyverse)
library(ggplot2)
library(leaflet)

Here is a data frame I found on snake sightings in the Bighorn Canyon National Recreation Area, in Montana and Wyoming

snake_df <- read.csv("BICA_Herps.csv")
head(snake_df)
snake_df_sel <- snake_df %>% 
  select(eventTime, eventDate, scientificName, vernacularName, decimalLatitude, decimalLongitude, verbatimCoordinates, verbatimElevationInMeters, samplingProtocol, habitat, locationID, custom_CloudCoverInPercent, custom_SunRadiation, custom_WindSpeedInKnots, custom_TemperatureInDegreesCelsius) %>% 
  rename (Time = eventTime, Date = eventDate, Scientific_Name = scientificName, Common_Name = vernacularName, Latitude = decimalLatitude, Longitude = decimalLongitude, Coordinates = verbatimCoordinates, Elevation = verbatimElevationInMeters, Sampling = samplingProtocol, Habitat = habitat, Location = locationID, Cloud_Cover = custom_CloudCoverInPercent, Sun_Radiation = custom_SunRadiation, Wind_Speed = custom_WindSpeedInKnots, Temperature = custom_TemperatureInDegreesCelsius)
head(snake_df_sel)
#Just getting the necessary data from the frame and making it legible.
  1. Show the innovation

Describe what’s going on with this function or functions or plot. What are the input arguments, what is the main thing the function/plot is doing? What gets output?

#So this is how we make a leaflet map:

#You manually insert coordinates; here is American University
leaflet() %>%
  addTiles() %>%
  setView(lng = -77.08798, lat = 38.93701, zoom = 15)
#You can add markers to the map, for specific locations (here are spots at AU)

au_buildings <- data.frame(lng = c(-77.09050, -77.08722, -77.08585),
                      lat = c(38.93669, 38.93924, 38.93609))

leaflet() %>%
  addTiles() %>%
  setView(lng = -77.08798, lat = 38.93701, zoom = 15) %>% 
  addCircleMarkers(data = au_buildings, color = c("red","blue","purple"))
#Here is the map view of Bighorn Canyon National Recreation Area, for our snake data.
leaflet() %>%
  addTiles() %>%
  setView(lng = -108.23601, lat = 45.09334, zoom = 9)
#To add markers based on our data frame, we do this:

leaflet(data=snake_df_sel) %>%
  addTiles() %>%
  setView(lng = -108.23601, lat = 45.09334, zoom = 9) %>% 
  addCircleMarkers(
    lng = ~Longitude,
    lat = ~Latitude,
  )
#We can now do add fun things:

leaflet(data=snake_df_sel) %>%
  addTiles() %>%
  setView(lng = -108.23601, lat = 45.09334, zoom = 9) %>% 
  addCircleMarkers(
    lng = ~Longitude,
    lat = ~Latitude,
    color = "darkgreen",
    fillOpacity = 1,
    radius = 5
  )
#You can also sort the color by a categorical variable, in this case we can do elevation.

snake_df_sel <- snake_df_sel %>% 
  filter(!is.na(Elevation))

elev_pal <- colorNumeric(palette = "YlOrRd",domain = snake_df_sel$Elevation)

leaflet(data=snake_df_sel) %>%
  addTiles() %>%
  setView(lng = -108.23601, lat = 45.09334, zoom = 9) %>% 
  addCircleMarkers(
    lng = ~Longitude,
    lat = ~Latitude,
    popup = ~Elevation,
    color = ~elev_pal(Elevation),
    fillOpacity = 1,
    radius = 5
  )
#Finally, you can add a legend and title to make the map presentable

leaflet(data=snake_df_sel) %>%
  addTiles() %>%
  setView(lng = -108.23601, lat = 45.09334, zoom = 9) %>% 
  addCircleMarkers(
    lng = ~Longitude,
    lat = ~Latitude,
    popup = ~Elevation,
    color = ~elev_pal(Elevation),
    fillOpacity = 1,
    radius = 5
  ) %>%
  addLegend(
    "bottomright",
    pal = elev_pal,
    values = ~Elevation,
    title = "Elevation"
  ) %>%
  addControl(
    html = "<h3>Snake Observations Map</h3>",
    position = "topleft"
  )