是否可以在没有州坐标的情况下创建choropleth传单地图?

是否可以在没有州坐标的情况下创建choropleth传单地图?,r,leaflet,choropleth,R,Leaflet,Choropleth,我想知道,如果您没有lat和long数据,但有完整的州名或阿拉巴马州的“AL”等短名称,是否可以创建带有传单的chorolpleth地图。我使用tbl_df或dataframe作为数据集。例如: A tibble: 50 x 5 state Murder Assault UrbanPop Rape <chr> <dbl> <int> <int> <dbl> 1 Alabama

我想知道,如果您没有
lat
long
数据,但有完整的州名或阿拉巴马州的“AL”等短名称,是否可以创建带有传单的chorolpleth地图。我使用tbl_df或dataframe作为数据集。例如:

 A tibble: 50 x 5
   state       Murder Assault UrbanPop  Rape
   <chr>        <dbl>   <int>    <int> <dbl>
 1 Alabama       13.2     236       58  21.2
 2 Alaska        10       263       48  44.5
 3 Arizona        8.1     294       80  31  
 4 Arkansas       8.8     190       50  19.5
 5 California     9       276       91  40.6
 6 Colorado       7.9     204       78  38.7
 7 Connecticut    3.3     110       77  11.1
 8 Delaware       5.9     238       72  15.8
 9 Florida       15.4     335       80  31.9
10 Georgia       17.4     211       60  25.8


data("USArrests", package = "datasets")
USArrests <- add_rownames(USArrests, "state")
m <- leaflet(USArrests$state) %>%
  addProviderTiles("MapBox", options = providerTileOptions(
    id = "mapbox.light",
    accessToken = Sys.getenv('MAPBOX_ACCESS_TOKEN')))

m %>% addPolygons()
A tible:50 x 5
州谋杀袭击UrbanPop强奸案
1阿拉巴马州13.2 236 58 21.2
2阿拉斯加102634844.5
3亚利桑那州8.1 294 80 31
4阿肯色州8.8 190 50 19.5
5加利福尼亚92769140.6
6科罗拉多州7.9 204 78 38.7
7康涅狄格州3.3 110 77 11.1
8特拉华州5.9 238 72 15.8
9佛罗里达州15.43358031.9
10格鲁吉亚17.4 211 60 25.8
数据(“USArrests”,package=“dataset”)
USArrests%addPolygons()

您需要状态多边形的源。底格里斯的
tigris
软件包将在这方面有所帮助

一旦我们有了
状态
空间数据帧,我们就将其转换为一个简单的features对象,因为我们可以将其视为一个传统的数据帧。现在它可以
left\u加入我们的
USArrests
数据集

library(tidyverse)
library(sf)
library(leaflet)
library(tigris)
options(tigris_use_cache = TRUE)

data("USArrests", package = "datasets")
USArrests <- USArrests %>% as_tibble(rownames = "state")
states_sf <- tigris::states() %>% 
  as("sf") %>% 
  rename(state=NAME) %>% 
  left_join(USArrests) %>% 
  na.omit()
#> Joining, by = "state"

states_sf
#> Simple feature collection with 50 features and 18 fields
#> geometry type:  MULTIPOLYGON
#> dimension:      XY
#> bbox:           xmin: -179.2311 ymin: 18.86546 xmax: 179.8597 ymax: 71.44106
#> epsg (SRID):    4269
#> proj4string:    +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
#> First 10 features:
#>    REGION DIVISION STATEFP  STATENS GEOID STUSPS          state LSAD MTFCC
#> 1       3        5      54 01779805    54     WV  West Virginia   00 G4000
#> 2       3        5      12 00294478    12     FL        Florida   00 G4000
#> 3       2        3      17 01779784    17     IL       Illinois   00 G4000
#> 4       2        4      27 00662849    27     MN      Minnesota   00 G4000
#> 5       3        5      24 01714934    24     MD       Maryland   00 G4000
#> 6       1        1      44 01219835    44     RI   Rhode Island   00 G4000
#> 7       4        8      16 01779783    16     ID          Idaho   00 G4000
#> 8       1        1      33 01779794    33     NH  New Hampshire   00 G4000
#> 9       3        5      37 01027616    37     NC North Carolina   00 G4000
#> 10      1        1      50 01779802    50     VT        Vermont   00 G4000
#>    FUNCSTAT        ALAND      AWATER    INTPTLAT     INTPTLON Murder
#> 1         A  62265597146   489902816 +38.6472854 -080.6183274    5.7
#> 2         A 138924199212 31386038155 +28.4574302 -082.4091478   15.4
#> 3         A 143788697679  6206693598 +40.1028754 -089.1526108   10.4
#> 4         A 206232257655 18929176411 +46.3158148 -094.1996628    2.7
#> 5         A  25147754905  6983312282 +38.9466584 -076.6744939   11.3
#> 6         A   2677898725  1323551636 +41.5974187 -071.5272723    3.4
#> 7         A 214042908012  2398669593 +44.3484222 -114.5588538    2.6
#> 8         A  23187396994  1028678842 +43.6726907 -071.5843145    2.1
#> 9         A 125921301190 13470062955 +35.5397100 -079.1308636   13.0
#> 10        A  23873467535  1031124865 +44.0604795 -072.6733274    2.2
#>    Assault UrbanPop Rape                       geometry
#> 1       81       39  9.3 MULTIPOLYGON (((-81.74725 3...
#> 2      335       80 31.9 MULTIPOLYGON (((-82.98624 2...
#> 3      249       83 24.0 MULTIPOLYGON (((-91.18529 4...
#> 4       72       66 14.9 MULTIPOLYGON (((-96.78438 4...
#> 5      300       67 27.8 MULTIPOLYGON (((-77.45881 3...
#> 6      174       87  8.3 MULTIPOLYGON (((-71.67264 4...
#> 7      120       54 14.2 MULTIPOLYGON (((-116.8997 4...
#> 8       57       56  9.5 MULTIPOLYGON (((-72.3299 43...
#> 9      337       45 16.1 MULTIPOLYGON (((-82.41674 3...
#> 10      48       32 11.2 MULTIPOLYGON (((-73.31328 4...
库(tidyverse)
图书馆(sf)
图书馆(单张)
图书馆(底格里斯)
选项(底格里斯河使用缓存=真)
数据(“USArrests”,package=“dataset”)
USARests%为不可编辑(rownames=“state”)
州(单位:sf%)
作为(“sf”)%>%
重命名(状态=名称)%%>%
左联合(USARREST)%>%
na.省略()
#>加入,按=“州”
美国
#>具有50个功能和18个字段的简单功能集合
#>几何图形类型:多多边形
#>尺寸:XY
#>bbox:xmin:-179.2311 ymin:18.86546 xmax:179.8597 ymax:71.44106
#>epsg(SRID):4269
#>proj4string:+proj=longlat+ellps=GRS80+towgs84=0,0,0,0,0,0+no_defs
#>前10个功能:
#>区域划分州FP州GEOID STUSPS州LSAD MTFCC
#>1 35 54 01779805 54西弗吉尼亚州WV 00 G4000
#>2 3 5 1200 294478佛罗里达州12佛罗里达州00 G4000
#>3 2 3 17 01779784 17伊利诺伊州00 G4000
#>4 2 4 27 00662849 27 MN明尼苏达州G4000
#>5 3 5 24 01714934马里兰州24马里兰州00 G4000
#>611440121983544RIRhode Island 00G4000
#>7 4 8 16 01779783 16 ID爱达荷州00 G4000
#>813301779794 33新罕布什尔州00 G4000
#>9 3 5 37 01027616 37北卡罗来纳州00 G4000
#>101 150 01779802 50佛蒙特州VT 00 G4000
#>FUNCSTAT ALAND AWATER INTPTLAT INTPTLON谋杀案
#>1 A 62265597146 489902816+38.6472854-080.6183274 5.7
#>2 A 138924199212 31386038155+28.4574302-082.4091478 15.4
#>3 A 1437886979 6206693598+40.1028754-089.1526108 10.4
#>4 A 2062322576518929176411+46.3158148-094.1996628 2.7
#>5A 251477549056983312282+38.9466584-076.6744939 11.3
#>6 A 2677898725 1323551636+41.5974187-071.52723 3.4
#>7 A 214042908012 2398669593+44.3484222-114.5588538 2.6
#>8 A 23187396994 1028678842+43.6726907-071.5843145 2.1
#>9 A 125921301190 13470062955+35.5397100-079.1308636 13.0
#>10 A 23873467535 1031124865+44.0604795-072.6733274 2.2
#>突袭UrbanPop强奸几何
#>1 81 39 9.3多边形((-81.74725 3。。。
#>2 335 80 31.9多边形((-82.98624 2。。。
#>32498324.0多边形((-91.185294。。。
#>4 72 66 14.9多边形((-96.78438 4。。。
#>53006727.8多边形((-77.458813。。。
#>6174 87 8.3多边形((-71.67264 4。。。
#>71205414.2多边形((-116.89974。。。
#>8 57 56 9.5多边形((-72.3299 43。。。
#>93374516.1多边形((-82.41674 3。。。
#>10 48 32 11.2多边形((-73.31328 4。。。
从这里开始,我们只需遵循

pal%
addTiles()
m%addPolygons(
fillColor=~pal(谋杀案),
重量=2,
不透明度=1,
color=“白色”,
dashArray=“3”,
填充不透明度=0.7)
#>警告:sf层具有不一致的基准(+proj=longlat+ellps=GRS80+towgs84=0,0,0,0,0,0+no_defs)。
#>需要“+proj=longlat+datum=WGS84”
M

当我有tbl_df或数据帧时,它使用一个SpatialPolygonDataframe,因此我得到一个错误“不知道如何从类tbl_df的对象获取路径数据”
pal <- colorQuantile("YlOrRd", domain = states_sf$Murder)

m <- leaflet(states_sf) %>%
  setView(-96, 37.8, 4) %>%
  addTiles()

m <- m %>% addPolygons(
  fillColor = ~pal(Murder),
  weight = 2,
  opacity = 1,
  color = "white",
  dashArray = "3",
  fillOpacity = 0.7)
#> Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs).
#> Need '+proj=longlat +datum=WGS84'
m