Hello all,
I am trying to build an app where I show circles that represent the radiuses of workers from certain coordinates. However, I would like to also include categorical variables like the customer that the worker can do and the day of the week in which the work is to be done (So Mon through Fri)
One way I was thinking about doing this is by finding the combinations between the different variables: So if I have 5 customers * and 5 days of the week then I have 25 different cases. However, I have so many categories under each variable, so my UI will look really bad.
Within my app I want to be able to select days say ( Mon and Wed) and the customers (say X, and Z) and thus see the circles of all workers that can do customers X and Z on Mon and Wed.
Here is my code:
#Show days Monday and Tuesday
coverage_Monday_XXXXX_Roberts <- coverage_data %>%
filter(Days == "Monday", Manager == 'XXXXX Roberts')
coverage_Tuesday_XXXXX_Roberts <- coverage_data %>%
filter(Days == 'Tuesday', Manager == 'XXXXX Roberts')
#
coverage_Monday_YYYY_Gutierrez <- coverage_data %>%
filter(Days == "Monday", Manager == 'YYYY Gutierrez')
coverage_Tuesday_YYYY_Gutierrez <- coverage_data %>%
filter(Days == 'Tuesday', Manager == 'YYYY Gutierrez')
# #Create label for Monday cases
# #Create label for Monday cases
coverage_Monday_XXXXX_Roberts$label <- paste("<p>", coverage_Monday_XXXXX_Roberts$Inspector.Name, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$Day, " ", coverage_Monday_XXXXX_Roberts$Region, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$City, ", ", coverage_Monday_XXXXX_Roberts$Postcode, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$State, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$Manager, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$Customer, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$Inspector.Skill, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$Days, "</p>",
"<p>", coverage_Monday_XXXXX_Roberts$Radius, "</p>",
sep="")
# #Create label for Tuesday cases
coverage_Tuesday_XXXXX_Roberts$label <- paste("<p>", coverage_Tuesday_XXXXX_Roberts$Inspector.Name, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$Day, " ", coverage_Tuesday_XXXXX_Roberts$Region, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$City, ", ", coverage_Tuesday_XXXXX_Roberts$Postcode, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$State, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$Manager, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$Customer, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$Inspector.Skill, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$Days, "</p>",
"<p>", coverage_Tuesday_XXXXX_Roberts$Radius, "</p>",
sep="")
coverage_Monday_YYYY_Gutierrez$label <- paste("<p>", coverage_Monday_YYYY_Gutierrez$Inspector.Name, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$Day, " ", coverage_Monday_YYYY_Gutierrez$Region, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$City, ", ", coverage_Monday_YYYY_Gutierrez$Postcode, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$State, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$Manager, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$Customer, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$Inspector.Skill, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$Days, "</p>",
"<p>", coverage_Monday_YYYY_Gutierrez$Radius, "</p>",
sep="")
# Create label for Tuesday cases
coverage_Tuesday_YYYY_Gutierrez$label <- paste("<p>", coverage_Tuesday_YYYY_Gutierrez$Inspector.Name, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$Day, " ", coverage_Tuesday_YYYY_Gutierrez$Region, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$City, ", ", coverage_Tuesday_YYYY_Gutierrez$Postcode, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$State, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$Manager, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$Customer, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$Inspector.Skill, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$Days, "</p>",
"<p>", coverage_Tuesday_YYYY_Gutierrez$Radius, "</p>",
sep="")
pal <- colorFactor(
palette = 'Dark2',
domain = coverage_data$Inpector.Name
)
map11 <- leaflet(coverage_data) %>%
setView(lng = -95.7129, lat = 34.0902, zoom = 4.499) %>%
addProviderTiles(providers$Esri.DeLorme) %>%
###### DAYS #######
addCircles(lng = coverage_Monday_XXXXX_Roberts$Longitude,
lat = coverage_Monday_XXXXX_Roberts$Latitude,
color = ~pal(coverage_Monday_XXXXX_Roberts$Inspector.Name),
weight = 1,
radius = coverage_Monday_XXXXX_Roberts$radius,
opacity = 0.05,
label = lapply(coverage_Monday_XXXXX_Roberts$label, HTML),
fillOpacity = 0.05,
group = "Monday: XXXXX Roberts") %>%
addCircles(lng = coverage_Tuesday_XXXXX_Roberts$Longitude,
lat = coverage_Tuesday_XXXXX_Roberts$Latitude,
color = ~pal(coverage_Tuesday_XXXXX_Roberts$Inspector.Name),
weight = 1,
radius = coverage_Tuesday_XXXXX_Roberts$radius,
opacity = 0.05,
fillOpacity = 0.05,
label = lapply(coverage_Tuesday_XXXXX_Roberts$label, HTML),
group = "Tuesday: XXXXX Roberts") %>%
addCircles(lng = coverage_Monday_YYYY_Gutierrez$Longitude,
lat = coverage_Monday_YYYY_Gutierrez$Latitude,
color = ~pal(coverage_Monday_YYYY_Gutierrez$Inspector.Name),
weight = 1,
radius = coverage_Monday_YYYY_Gutierrez$radius,
opacity = 0.05,
label = lapply(coverage_Monday_YYYY_Gutierrez$label, HTML),
fillOpacity = 0.05,
group = "Monday: YYYY Gutierrez") %>%
addCircles(lng = coverage_Tuesday_YYYY_Gutierrez$Longitude,
lat = coverage_Tuesday_YYYY_Gutierrez$Latitude,
color = ~pal(coverage_Tuesday_YYYY_Gutierrez$Inspector.Name),
weight = 1,
radius = coverage_Tuesday_YYYY_Gutierrez$radius,
opacity = 0.05,
fillOpacity = 0.05,
label = lapply(coverage_Tuesday_YYYY_Gutierrez$label, HTML),
group = "Tuesday: YYYY_Gutierrez") %>%
addLayersControl(
overlayGroups= c("Monday: XXXXX Roberts", "Tuesday: XXXXX Roberts",# "Wednesday: XXXXX Roberts", "Thursday: XXXXX Roberts", "Friday: XXXXX Roberts",
"Monday: YYYY Gutierrez", "Tuesday: YYYY Gutierrez"), # "Wednesday: YYYY Gutierrez", "Thursday: YYYY Gutierrez", "Friday: YYYY Gutierrez"),
options = layersControlOptions(collapsed = FALSE))
map11
Please note that I also tried the function baseGroups and overlayGroups and I can't seem to be able to intersect the different variables. I appreciate any help.