как построить карту только с широтой, долгой без группы в R - PullRequest
0 голосов
/ 02 августа 2020

У меня проблемы с построением карты Великобритании. Действительно, у меня есть проблемы с построением графика, потому что, возможно, у меня нет группы в качестве переменной. Это тип данных, которые у меня есть.

lft_j  <- structure(list(journeydate = c("18/03/2020", "18/03/2020", "18/03/2020", 
"18/03/2020", "18/03/2020", "18/03/2020"), sex = c("Female", 
"Female", "Female", "Female", "Female", "Female"), ageband = c("0-18 years", 
"0-18 years", "0-18 years", "0-18 years", "0-18 years", "0-18 years"
), ccgcode = c("E38000001", "E38000002", "E38000004", "E38000005", 
"E38000006", "E38000007"), ccgname = c("NHS Airedale, Wharfedale and Craven CCG", 
"NHS Ashford CCG", "NHS Barking and Dagenham CCG", "NHS Barnet CCG", 
"NHS Barnsley CCG", "NHS Basildon and Brentwood CCG"), Total = c(17, 
27, 27, 43, 30, 42), objectid = c(NA, NA, 1, NA, 2, 3), ccg20cd = c(NA, 
NA, "E38000004", NA, "E38000006", "E38000007"), bng_e = c(NA, 
NA, 547758, NA, 429979, 564014), bng_n = c(NA, NA, 185109, NA, 
403330, 194421), long = c(NA, NA, 0.129493, NA, -1.54925001, 
0.36806801), lat = c(NA, NA, 51.54552841, NA, 53.5257988, 51.62469864
), st_lengthshape = c(NA, NA, 40665.2789272553, NA, 125518.601736474, 
120224.102808673), st_areashape = c(NA, NA, 36091041.104372, 
NA, 329052050.351673, 263142523.0488)), row.names = c(NA, -6L
), class = c("tbl_df", "tbl", "data.frame"))

library(leaflet)

map <- 
  leaflet(lft_j) %>%
  addTiles() %>%
  addMarkers(lng = long, lat = lat, clusterOptions = markerClusterOptions())

map 

Это ошибка:

Ошибка в resolveFormula (lng, data): объект 'long' не найден

Это делается в R с помощью leaflet.

1 Ответ

1 голос
/ 02 августа 2020

Вам просто нужно добавить тильды (~) к lat и long, чтобы их можно было распознать:

lft_j  <- structure(list(journeydate = c("18/03/2020", "18/03/2020", "18/03/2020", 
"18/03/2020", "18/03/2020", "18/03/2020"), sex = c("Female", 
"Female", "Female", "Female", "Female", "Female"), ageband = c("0-18 years", 
"0-18 years", "0-18 years", "0-18 years", "0-18 years", "0-18 years"
), ccgcode = c("E38000001", "E38000002", "E38000004", "E38000005", 
"E38000006", "E38000007"), ccgname = c("NHS Airedale, Wharfedale and Craven CCG", 
"NHS Ashford CCG", "NHS Barking and Dagenham CCG", "NHS Barnet CCG", 
"NHS Barnsley CCG", "NHS Basildon and Brentwood CCG"), Total = c(17, 
27, 27, 43, 30, 42), objectid = c(NA, NA, 1, NA, 2, 3), ccg20cd = c(NA, 
NA, "E38000004", NA, "E38000006", "E38000007"), bng_e = c(NA, 
NA, 547758, NA, 429979, 564014), bng_n = c(NA, NA, 185109, NA, 
403330, 194421), long = c(NA, NA, 0.129493, NA, -1.54925001, 
0.36806801), lat = c(NA, NA, 51.54552841, NA, 53.5257988, 51.62469864
), st_lengthshape = c(NA, NA, 40665.2789272553, NA, 125518.601736474, 
120224.102808673), st_areashape = c(NA, NA, 36091041.104372, 
NA, 329052050.351673, 263142523.0488)), row.names = c(NA, -6L
), class = c("tbl_df", "tbl", "data.frame"))

library(leaflet)

map <- 
  leaflet(lft_j) %>%
  addTiles() %>%
  addMarkers(lng = ~long, lat = ~lat, clusterOptions = markerClusterOptions())

map 

Чтобы получить желаемую цифру

листовка

...