library(flexdashboard) library(data.table) library(leaflet) library(DT) IDW_straight <- read.table("C:/Files/Documents/R/publicLibs/inst/extdata4/IDW/Straight.txt", header = TRUE, stringsAsFactors = F) IDW_drive <- read.table("C:/Files/Documents/R/publicLibs/inst/extdata4/IDW/Drive.txt", header = TRUE, stringsAsFactors = F) IDW_straight <- IDW_straight[-c(2, 19, 21, 28),] colnames(IDW_straight) <- c("Base Name", "Short Name", "Abbr", "Long", "Lat", "5 Miles", "10 Miles", "15 Miles", "20 Miles", "25 Miles", "30 Miles", "35 Miles", "40 Miles", "45 Miles", "50 Miles", "55 Miles", "60 Miles", "65 Miles", "70 Miles", "75 Miles", "80 Miles", "85 Miles", "90 Miles", "95 Miles", "100 Miles") IDW_drive <- IDW_drive[-c(2, 19, 21, 28),] colnames(IDW_drive) <- c("Base Name", "Short Name", "Abbr", "Long", "Lat", "5 Miles", "10 Miles", "15 Miles", "20 Miles", "25 Miles", "30 Miles", "35 Miles", "40 Miles", "45 Miles", "50 Miles", "55 Miles", "60 Miles", "65 Miles", "70 Miles", "75 Miles", "80 Miles", "85 Miles", "90 Miles", "95 Miles", "100 Miles") Base_Locs <- read.table("C:/Files/Documents/R/publicLibs/inst/extdata/Base_Locations.txt", header = TRUE, stringsAsFactors = F) Base_Locs <- Base_Locs[-c(2, 19, 21, 28),]
sliderInput(inputId = "rad", label = "Radius Around the Base:", min = 5, max = 100, value = 50, step = 5) selectInput(inputId = "base", label = "Installation:", choices = Base_Locs[,1], selected = NULL) selectInput(inputId = "mode", label = "Distance Mode:", choices = c("Straight Line Distance", "Driving Distance"), selected = NULL)
Insert text about the app...
output$basemap <- renderLeaflet({ base.loc <- Base_Locs[which(Base_Locs[,1]%in%input$base),] file.location <- "C:/Files/Documents/R/publicLibs/inst/extdata4/App Data/Base Libs/" inst <- as.character(input$base) base_lib <- read.table(paste(c(file.location, IDW_straight[which(IDW_straight[, 1] == inst), 3], "_Libs.txt"), collapse = ""), header = TRUE, stringsAsFactors = FALSE) colnames(base_lib) <- c("Library Name", "Service Area Population", "Address", "Latitude", "Longitude", "Central Libraries", "Branch Libraries", "Total Staff", "Print Materials", "Audio Materials", "Video Materials", "Print Serials", "Computers", "Collection Space", "Seats Per", "Work Space", "Size", "Distance", "Weight", "SizeWeight", "Drive Distance", "Drive Weight", "Drive SizeWeight") base_lib <- subset(base_lib, base_lib[, "Distance"] <= input$rad) # redStar <- makeIcon( # iconUrl <- "C:/Files/Documents/R/publicLibs/inst/extdata4/App Data/red_star.png", # iconWidth <- 10, iconHeight <- 40, # iconAnchorX <- 22, iconAnchorY <- 94, # ) leaflet() %>% addTiles() %>% addCircleMarkers(base_lib$Longitude, base_lib$Latitude, color = "blue", radius = 6, fill = T, fillOpacity = 1, opacity = 1, popup = paste(base_lib$`Library Name`, "<br>", base_lib$Address)) %>% addCircleMarkers(base.loc$Longitude, base.loc$Latitude, color = "red", radius = 6, fill = T, fillOpacity = 1, opacity = 1, popup = base.loc$Base..Long.Name.) %>% # addMarkers(base_lib$Longitude, # base_lib$Latitude, # popup = base_lib$Address) %>% # addMarkers(base.loc$Longitude, # base.loc$Latitude, # popup = base.loc$Base..Abbreviation., # icon = redStar) %>% addLegend("bottomleft", title = "Legend", colors = c("Red", "Blue"), labels = c("Air Force Base", "Library"), opacity = 1) }) leafletOutput("basemap", width = "100%", height = "100%") # fitBounds(-127.44,24.05,-65.30,50.35) %>%
IDWData <- reactive({ if(input$mode == "Straight Line Distance" ) { CONUS_Locations <- IDW_straight } else { CONUS_Locations <- IDW_drive } IDW <- as.data.table(CONUS_Locations) var <- paste(input$rad, "Miles") IDW <- IDW[order(-IDW[[var]])][,"Overall Rank" := 1:.N] IDW <- as.data.frame(IDW) IDW <- IDW[, c("Base Name", paste(as.character(input$rad), "Miles"), "Overall Rank")] }) renderTable(IDWData(), digits = 3)
file.location <- "C:/Files/Documents/R/publicLibs/inst/extdata4/App Data/Base Libs/" selectedData <- reactive({ inst <- as.character(input$base) base_lib <- read.table(paste(c(file.location, IDW_straight[which(IDW_straight[, 1] == inst), 3], "_Libs.txt"), collapse = ""), header = TRUE, stringsAsFactors = FALSE) colnames(base_lib) <- c("Library Name", "Service Area Population", "Address", "Latitude", "Longitude", "Central Libraries", "Branch Libraries", "Total Staff", "Print Materials", "Audio Materials", "Video Materials", "Print Serials", "Computers", "Collection Space", "Seats Per", "Work Space", "Size", "Distance", "Weight", "SizeWeight", "Drive Distance", "Drive Weight", "Drive SizeWeight") if(input$mode == "Straight Line Distance" ) { col <- c("Library Name", "Service Area Population", "Central Libraries", "Branch Libraries", "Total Staff", "Print Materials", "Audio Materials", "Video Materials", "Print Serials", "Computers", "Collection Space", "Seats Per", "Work Space", "Size", "Distance", "Weight", "SizeWeight") libs_straight <- base_lib[, paste(col)] base_lib.sub <- subset(libs_straight, libs_straight[, "Distance"] <= input$rad) base_lib.sub <- as.data.table(base_lib.sub) base_lib.sub <- base_lib.sub[order(base_lib.sub$Distance)] base_lib.sub <- as.data.frame(base_lib.sub) # var <- paste(input$rad, "Miles") # IDW <- IDW[order(-IDW[[var]])] } else { col <- c("Library Name", "Service Area Population", "Central Libraries", "Branch Libraries", "Total Staff", "Print Materials", "Audio Materials", "Video Materials", "Print Serials", "Computers", "Collection Space", "Seats Per", "Work Space", "Size", "Distance", "Drive Distance", "Drive Weight", "Drive SizeWeight") libs_drive <- base_lib[, paste(col)] base_lib.sub <- subset(libs_drive, libs_drive[, "Distance"] <= input$rad) base_lib.sub <- as.data.table(base_lib.sub) base_lib.sub <- base_lib.sub[order(base_lib.sub$'Drive Distance')] base_lib.sub <- as.data.frame(base_lib.sub) } # datatable(base_lib.sub, rownames = FALSE, extensions = 'Scroller', # options = list(scrollY = 200, scroller = TRUE, columnDefs = list(list(className = 'dt-left', targets = 0:3)))) }) renderTable(selectedData(), digits = 2) ## options=list(scrollX=TRUE, scrolly = TRUE)
Stuff
rnorm(1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.