【问题标题】:Create custom sales regions in US using zipcodes in R使用 R 中的邮政编码在美国创建自定义销售区域
【发布时间】:2020-01-12 00:31:40
【问题描述】:

我正在尝试为我的公司创建自定义销售区域地图。我们的自定义区域不是基于州,而是基于邮政编码的集合。如何使用 R 中的邮政编码在美国创建自定义销售区域。我的邮政编码如下所示。我希望每个销售区域都有不同的颜色来区分区域。

我有以下美国地图:

map_us <- tm_shape(us_states) +
  tm_fill() + tm_layout(frame = FALSE)

如何在此地图上对邮政编码信息进行分层以对每个区域进行颜色编码?

【问题讨论】:

  • See here 提出一个人们可以帮助解决的 R 问题。这包括数据样本和所有必要的代码。目前尚不清楚您到底想做什么——您描述了创建自定义区域(听起来像聚合),但随后询问如何将基于邮政编码的数据添加到地图上。它是哪一个?你打算如何对它们进行分组?
  • 对不起,如果我不清楚。我有一个包含邮政编码列表及其所属区域的文件。我希望美国地图按区域进行颜色编码(每个区域根据我的邮政编码映射具有不同的颜色)。我已经上传了我的数据的样例。我对 R 很陌生。提前感谢您的耐心等待。
  • 这并不是您不清楚,而是我们通常会帮助人们调试不起作用的代码,或者代码完成但未交付所需内容的概念性问题。您的问题对我来说更像是编写代码的问题,这不是人们在这里的原因。但是您需要考虑根据邮政编码列表创建某种形状或标记,您可以创建另一个区域列并对拉链进行适当分类.但是,您需要创建包含您的区域的多边形,或者使用您的纬度点并按区域类别将颜色应用于您的点
  • 我发布的链接有很多关于如何在您的帖子中包含数据的建议。如果我们有与映射邮政编码相关的代码,我们无论如何都无法在电子表格的图片上运行它

标签: r


【解决方案1】:

这当然是可行的,但如果没有像样的数据集,我必须边做边做。

library(tigris)
library(tidyverse)
library(sf)

# get US zipcode shapefile
# This takes a while to download
zip <- zctas(cb = TRUE)

# Transform to an sf object, and change projection
zip_sf <- st_as_sf(zip) %>%
  filter(stringr::str_starts(ZCTA5CE10, '3')) %>% ## returns some of southeast US
  st_transform(5070) %>%
  st_simplify() %>%
  st_transform(4326)

# Wholly made-up points, bufferd by 150km
regions <- tribble(
  ~region, ~lon, ~lat,
  'one', -88, 32,
  'two', -82, 28,
  'three', -86, 34,
  'four', -82, 31
) %>% st_as_sf(coords = c('lon', 'lat')) %>%
  st_set_crs(4326) %>%
  st_transform(5070) %>%
  st_buffer(150000) %>%
  st_transform(4326)

# Here the data is joined spatially.
# Your data should be joined (probably with a left-join)
# using the zip code columns.
joined <- st_join(zip_sf, regions, join = st_within)

ggplot(joined) + 
  geom_sf(aes(fill = region), size = .1) + 
  scale_fill_discrete(na.value = 'white')


我使用 ggplot2 进行绘图,但 tmap、mapview 等应该也能正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多