Я пытаюсь сделать хороплет с помощью листовки. Я скачал шейп-файл ZCTA из data.gov и импортировал его в R через readOGR. Затем, когда вы помещаете этот файл в буклет, ничего не происходит.
Я думаю, что проблема может заключаться в том, что латы и лоны из шейп-файла импортируются как числа вместо чисел? За исключением случаев, когда я пытаюсь преобразовать эти переменные в числа, я получаю сообщение об ошибке:
Ошибка в `$ <-. Data.frame` (` * tmp * ', lat, value = numeric (0)):
замена содержит 0 строк, данные имеют 33144 </p>
С другой стороны, это всего лишь предположение, и я новичок в листовке и картографии в целом; Я все еще учусь, какой путь.
Вот мой код:
shape <- readOGR(dsn = path.expand("//cifs2/radonfin$/MaxG/In Progress/Geographical Capture/Shape Files"),
layer = "tl_2018_us_zcta510")
shape@data$GEOID10 = as.numeric(as.character(shape@data$GEOID10))
colnames(shp_Patients_by_ZCTA)[colnames(shp_Patients_by_ZCTA)=="INTPTLAT10"] <- "lat"
colnames(shp_Patients_by_ZCTA)[colnames(shp_Patients_by_ZCTA)=="INTPTLON10"] <- "lng"
shape %>%
leaflet(options = leafletOptions( minZoom = 8,
maxZoom = 12,
dragging = TRUE)) %>%
addProviderTiles("CartoDB.PositronNoLabels", group = "Light Mode") %>%
addProviderTiles("CartoDB.DarkMatterNoLabels", group = "Dark Mode") %>%
addPolygons() %>%
setView(lng = -71.808206, lat = 42.016621, zoom = 8) %>%
setMaxBounds(lng1 = -73.561893,
lat1 = 42.855596,
lng2 = -69.889730,
lat2 = 41.001180) %>%
addMarkers(data = Hospital_Locations,
lat = Hospital_Locations$Latitude,
lng = Hospital_Locations$Longitude,
label = Hospital_Locations$Location) %>%
addLayersControl(baseGroups = c("Light Mode", "Dark Mode"),
overlayGroups = c("Boston", "Mansfield", "Milford", "Saint Anne's"))
Мой ожидаемый результат - листовка с полигонами, описанными шейп-файлом, но фактические результаты таковы:
Я получаю ошибку при преобразовании lat
и lon
в числа; или если я пропущу это,
R останавливается, пока я не остановлю код.
Я очень ценю любую помощь, которую вы можете оказать !!