I've been trying to render a leaflet map I created in a shiny dashboard tab box. The leaflet code works fine in a regular script and the map renders in the viewer. However, when I add my code to the ui.r and server.r all I get is a blank space in the dashboard where the map should be. I'm not receiving any errors so I'm stumped as far as figuring out what could be wrong. I've read that shiny sometimes has problems when the height and width of the map are specified, but I left this default so I do not think that is the problem. The only other thing I can think of is that some of the objects from the packages I am using are being masked. I have no idea if that would cause this issue though.
library(shiny)
library(shinydashboard)
library(leaflet)
library(tigris)
library(dplyr)
library(tidyverse)
library(leaflet.extras)
library(rmapshaper)
library(rsconnect)
library(plotly)
library(ggplot2)
library(rgdal)
library(htmltools)
library(shinyWidgets)
library(DT)
#ui.r
shinyUI(
dashboardPage(
dashboardHeader(title = "UV and Skin Cancer"),
dashboardBody(
tabItems(
tabItem(tabName = "Homepage", h2("UV Exposure and Melanoma"),
tabItem(tabName = "Homepage",
fluidRow(
tabBox(id="National Map",
tabPanel("Melanoma Incidence", leafletOutput("mymap"))
))))))))
#server.r
shinyServer(function(input, output) {
melanoma_incidence <- read_excel("Incidence_data.xlsx")
US_states <- tigris::states()
US_Join <- geo_join(US_States, Melanoma_Incidence, by_sp = "GEOID", by_df = "stateFIPS")
US_Join <- subset(US_Join, !is.na(Value))
pal <- colorNumeric("Reds", domain = US_Join$Value)
labels <- sprintf(
"<strong>%s</strong><br/>%g",
US_Join$State, US_Join$Value) %>% lapply(htmltools::HTML)
output$mymap <- renderLeaflet({
leaflet() %>% addProviderTiles(providers$CartoDB.Positron) %>%
setView(-96, 37.8, 4) %>%
addPolygons(data = US_Join,
fillColor = ~pal(US_Join$Value),
fillOpacity = 0.9,
weight = 0.2,
smoothFactor = 0.2,
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "3px 8px"),
textsize = "15px",
direction = "auto")) %>%
addLegend(pal = pal,
values = US_Join$Value,
position = "bottomright",
title = "Incidence")
})
}
)
## Here is my data
datapasta::tribble_paste(melanoma)
tibble::tribble(
~stateFIPS, ~State, ~Year, ~Value,
"01", "Alabama", "2012-2016", 21.4,
"02", "Alaska", "2012-2016", 26,
"04", "Arizona", "2012-2016", 21.89,
"05", "Arkansas", "2012-2016", 21.24,
"06", "California", "2012-2016", 22.47,
"08", "Colorado", "2012-2016", 22.13,
"09", "Connecticut", "2012-2016", 20.54,
"10", "Delaware", "2012-2016", 29.71,
"11", "District of Columbia", "2012-2016", 9.48,
"12", "Florida", "2012-2016", 23.9,
"13", "Georgia", "2012-2016", 26.64,
"15", "Hawaii", "2012-2016", 21.4,
"16", "Idaho", "2012-2016", 27.91,
"17", "Illinois", "2012-2016", 19.62,
"18", "Indiana", "2012-2016", 20.1,
"19", "Iowa", "2012-2016", 26.32,
"20", "Kansas", "2012-2016", 21.63,
"21", "Kentucky", "2012-2016", 26.87,
"22", "Louisiana", "2012-2016", 17.28,
"23", "Maine", "2012-2016", 25.94,
"24", "Maryland", "2012-2016", 23.01,
"25", "Massachusetts", "2012-2016", 21.15,
"26", "Michigan", "2012-2016", 19.49,
"27", "Minnesota", "2012-2016", 30.32,
"28", "Mississippi", "2012-2016", 17.14,
"29", "Missouri", "2012-2016", 19.1,
"30", "Montana", "2012-2016", 26.82,
"31", "Nebraska", "2012-2016", 23.9,
"32", "Nevada", "2012-2016", 14.99,
"33", "New Hampshire", "2012-2016", 30.17,
"34", "New Jersey", "2012-2016", 21.86,
"35", "New Mexico", "2012-2016", 15.33,
"36", "New York", "2012-2016", 18.06,
"37", "North Carolina", "2012-2016", 25.59,
"38", "North Dakota", "2012-2016", 23.26,
"39", "Ohio", "2012-2016", 22.85,
"40", "Oklahoma", "2012-2016", 21.38,
"41", "Oregon", "2012-2016", 27.05,
"42", "Pennsylvania", "2012-2016", 24.27,
"44", "Rhode Island", "2012-2016", 22.47,
"45", "South Carolina", "2012-2016", 23.28,
"46", "South Dakota", "2012-2016", 24.13,
"47", "Tennessee", "2012-2016", 20.22,
"48", "Texas", "2012-2016", 12.74,
"49", "Utah", "2012-2016", 39.76,
"50", "Vermont", "2012-2016", 35.76,
"51", "Virginia", "2012-2016", 19.21,
"53", "Washington", "2012-2016", 26.03,
"54", "West Virginia", "2012-2016", 20.88,
"55", "Wisconsin", "2012-2016", 23.91,
"56", "Wyoming", "2012-2016", 22.34
)
I just get this blank space when I run the code.
Has anyone dealt with this issue before or know why my map is not rendering? Without an error message I am at a loss. Any help would be appreciated.