#load in all my libraries
library(leaflet)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(RColorBrewer)
library(raster)
## Loading required package: sp
## 
## Attaching package: 'raster'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
library(sp)
library(maps)
## Warning: package 'maps' was built under R version 4.3.3
## 
## Attaching package: 'maps'
## 
## The following object is masked from 'package:purrr':
## 
##     map
library(shiny)
## Warning: package 'shiny' was built under R version 4.3.3
#set my working directory
getwd()
## [1] "C:/Users/alyss/OneDrive/Documents/R"
setwd("C:/Users/alyss/OneDrive/Documents/R")
seal_data <- read.csv("C:/Users/alyss/OneDrive/Documents/R/Seal_Data_2010_Tidy.csv")

shark_data <- read.csv("C:/Users/alyss/OneDrive/Documents/R/White_Shark_Data_2024_Tidy.csv")
#set up the map using coordinates of New Zealand with a zoom level to get to right scope. I also added a provider tile to add some texture to the map.
leaflet() %>%
  setView(lng = 176.2545,
          lat = -41.8384,
          zoom = 4) %>%
  addTiles() %>%
  addProviderTiles("Stadia.StamenTerrain") %>%
  addCircleMarkers(data = seal_data,
                   lng = ~seal_data$Longitude,
                   lat = ~seal_data$Latitude,
                   color = "royalblue",
                   opacity = 0.3,
                   radius = 0.1) %>%
  addCircleMarkers(data = shark_data,
                   lng = ~shark_data$decimalLongitude,
                   lat = ~shark_data$decimalLatitude,
                   color = "red",
                   opacity= 0.3,
                   radius = 0.1)
## Warning in validateCoords(lng, lat, funcName): Data contains 1 rows with either
## missing or invalid lat/lon values and will be ignored
ui <- fluidPage(
  titlePanel("Annual Seal and Shark Distribution Patterns from 2004-2009"),
  fluidRow(column(width = 4, offset = 4, sliderInput("slider", h3("Select the year"), min = 2004, max = 2009, value = 2004, sep = "")),leafletOutput("PopDistr", width = "100%", height = "600px")))

  
  
server <- function(input, output, session) {
  
  output$PopDistr <- renderLeaflet({
    filter_data <- reactive ({
    seal_filtered <- dplyr::filter(seal_data, Year == input$slider)
    shark_filtered <- dplyr::filter(shark_data, year == input$slider)
    list(seal_filtered = seal_filtered, shark_filtered = shark_filtered)})
    
    leaflet() %>%
      setView(lng = 176.2545,lat = -41.8384, zoom = 4) %>%
      addTiles() %>%
      addProviderTiles("Stadia.StamenTerrain") %>%
      addCircleMarkers(data = filter_data()$seal_filtered, lng = ~filter_data()$seal_filtered$Longitude, lat = ~filter_data()$seal_filtered$Latitude, color = "royalblue", opacity = 0.3, radius = 0.1) %>%
      addCircleMarkers(data = filter_data()$shark_filtered, lng = ~filter_data()$shark_filtered$decimalLongitude, lat = ~filter_data()$shark_filtered$decimalLatitude, color = "red", opacity= 0.3, radius = 0.1)})
}

shinyApp(ui, server)
Shiny applications not supported in static R Markdown documents