Aan de slagBegin gratis

Publieke en particuliere colleges in kaart brengen

We kunnen particuliere colleges op precies dezelfde manier toevoegen als publieke colleges. Met de functie addLayersControl() en het argument overlayGroups kun je gebruikers vervolgens laten kiezen om publieke en/of particuliere colleges te tonen. Het argument overlayGroups krijgt een vector met groepen die we hebben gedefinieerd bij het maken van onze lagen (dus public en private). Ter herinnering: zo voeg je publieke colleges als laag toe aan onze kaart:

# Maak een data frame public met alleen publieke colleges
public <- filter(ipeds, sector_label == "Public")  

# Voeg publieke colleges toe als een laag en sla de kaart op als `m3`
m3 <- leaflet() %>% 
        addProviderTiles("CartoDB") %>% 
        addCircleMarkers(data = public, radius = 2, 
                         label = ~htmlEscape(name),
                         color = ~pal(sector_label),
                         group = "Public") %>% 
        addLayersControl(overlayGroups = c("Public"))

De htmltools-bibliotheek, kleurenpalet pal en de m3-kaart met publieke colleges zijn voor je geladen.

Deze oefening maakt deel uit van de cursus

Interactieve kaarten met leaflet in R

Bekijk cursus

Oefeninstructies

  • Filter de ipeds-gegevens om een data frame te maken met alleen particuliere colleges.
  • Voeg particuliere colleges toe aan m3 als een nieuwe laag.
  • Gebruik de functie addLayersControl() en het argument overlayGroups zodat gebruikers de publieke en particuliere lagen kunnen aan- of uitzetten.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Create data frame called private with only private colleges
private <- filter(ipeds, sector_label == "___")  

# Add private colleges to `m3` as a new layer
m3 <- m3 %>% 
        ___(data = private, radius = 2, label = ~htmlEscape(name),
                         color = ~pal(sector_label), group = "Private") %>% 
        ___(___ = c("Public", "Private"))

m3
Code bewerken en uitvoeren