Как построить пользовательскую карту JSON с библиотекой листовок в уценке R - PullRequest
0 голосов
/ 25 февраля 2019

В настоящее время я работаю с данными из: https://www.kaggle.com/mylesoneill/world-university-rankings/kernels

Я также скачал пользовательскую карту мира json из: https://github.com/johan/world.geo.json

Мне удалось построить карту стран Европы сряд университетов в рейтинге.Вы можете увидеть код ниже, который прекрасно работает в R-скрипте.Однако я хотел бы поместить его в отчет по уценке, но я понятия не имею, как, потому что простое помещение кода в уценку не работает.Кажется, что уценка не может правильно загрузить карту JSON

library(leaflet)
library(geojsonio)
library(tidyverse)

cwurData <- read.csv("cwurData.csv")

WorldCountry <-geojsonio::geojson_read("countries.geo.json", what = "sp")


c <- cwurData %>% group_by(country) %>% summarise(suma = n())

c <- filter(c, country %in% c("Austria","Belgium","Bulgaria",
                              "Cyprus","Czech Republic", "Denmark",
                              "Estonia","Finland","France","Germany",
                              "Greece","Hungary","Iceland","Ireland",
                              "Netherlands","Norway","Poland",
                              "Portugal","Romania","Russia","Slovenia",
                              "Spain","Sweden","Turkey","United Kingdom"))

c$country <- as.character(c$country)

c$country <- plyr::revalue(c$country, c("Austria"="AUT","Belgium"="BEL",
                                        "Bulgaria"="BGR",
                                        "Cyprus"="CYP","Czech Republic"="CZE",
                                        "Denmark"="DNK","Estonia"="EST",
                                        "Finland"="FIN","France"="FRA",
                                        "Germany"="DEU","Greece"="GRC",
                                        "Hungary"="HUN","Iceland"="ISL",
                                        "Ireland"="IRL","Netherlands"="NLD",
                                        "Norway"="NOR","Poland"="POL",
                                        "Portugal"="PRT","Romania"="ROU",
                                        "Russia"="RUS","Slovenia"="SVN",
                                        "Spain"="ESP","Sweden"="SWE",
                                        "Turkey"="TUR","United Kingdom"="GBR"))

c <- arrange(c,country)

data_Map <- WorldCountry[WorldCountry$id %in% c$country, ]

Map <- leaflet(data_Map) %>% addTiles() %>% addPolygons()

pal <- colorBin("YlOrRd", domain = c$suma)

Map %>% addPolygons(stroke = FALSE, smoothFactor = 0.3, fillOpacity = 2,
                    fillColor = ~pal(c$suma),
                    label = ~paste0(c$country, " : ", c$suma),
                    highlight = highlightOptions(
                      weight = 5,
                      color = "#666",
                      dashArray = "",
                      fillOpacity = 0.7,
                      bringToFront = TRUE),
                    labelOptions = labelOptions(
                      style = list("font-weight" = "normal", padding = "3px 8px"),
                      textsize = "15px",
                      direction = "auto")) %>%
  addLegend(pal = pal, values = ~c$suma, opacity = 1.0,title = "Liczba uniwersytetów",
            position = "bottomright")

Если вы не возражаете, можете ли вы запустить этот код в R и Rmarkdown и дать мне совет, как построить эту карту в уценке?

...