如何在R中为美国地图添加其他维度?

如何在R中为美国地图添加其他维度?,r,ggplot2,maps,R,Ggplot2,Maps,我有以下列的数据: 州:州名缩写(AK、NY、NJ…等) subs:每个州的杂志订阅者数量 收入:该州的平均州收入 政党:政党-(1=民主党,0=共和党,0.5=未知) 样本数据可在此获得 我用以下代码和软件包绘制了政治联系图。full_join3是我的数据集的名称 library(ggplot2) library(usmap) usmap::plot_usmap(data = full_join3, values = "party", lines = "red") + scal

我有以下列的数据:

  • :州名缩写(AK、NY、NJ…等)
  • subs
    :每个州的杂志订阅者数量
  • 收入
    :该州的平均州收入
  • 政党
    :政党-(1=民主党,0=共和党,0.5=未知)
样本数据可在此获得

我用以下代码和软件包绘制了政治联系图。full_join3是我的数据集的名称

library(ggplot2)
library(usmap)

usmap::plot_usmap(data = full_join3, values = "party", lines = "red") + 
    scale_fill_discrete(
        name = "Political Affiliation Based on 2016 election", 
        label = scales::comma
    ) + 
    theme(legend.position = "right")

如果可能的话,我想把每个州的订户数量和平均收入加起来作为一个标签。我该怎么做呢

好吧,这是我实现这一目标的最佳尝试,尽管我认为没有一个好方法可以让所有这些数字都出现在地图上,同时保持它的可读性。我建议使用一种不同的可视化方式来同时传达所有这些信息

这种方法基本上是忽略
usmap
,因为我无法在不编辑源代码的情况下向
plot\u usmap
添加参数。相反,我们使用
fiftystater
包中的数据制作了一个带有插图阿拉斯加和夏威夷的几何体,并使用州名和缩写的参考表将其连接到提供的数据上

然后,绘图是使用
ggrepel
包中的
geom_sf
(目前在
ggplot2
的开发版本中)和
geom_label_repel
的问题。我们传递一个预构造的数据帧,其中包含状态的所有标签

尽管如此,我还是更喜欢跳过地图的另一种可视化,而只是更清楚地显示变量之间的关系。这就更加明显地表明,在收入水平上,高收入的州更倾向于共和党。不过,我会检查原始数据(夏威夷是共和党人?俄克拉何马州是民主党人?)

库(tidyverse)
图书馆(sf)
#>链接至GEOS 3.6.1、GDAL 2.2.3、项目4.9.3
图书馆(第五州)
图书馆(ggrepel)
待定%
添加第行(state.abb=“DC”,state.name=“哥伦比亚特区”)
sf_50%
分组依据(id,件)%>%
汇总(do_union=FALSE)%>%
st_铸造(“多边形”)%%>%
解组()%>%
左连接(名称缩写,by=c(“id”=“state.name”))%>%
左连接(tbl,by=c(“state.abb”=“state”))%>%
变异(
党派=因素(党派,标签=c(“共和党”、“未知”、“民主党”),
lon=map_dbl(几何体,~st_质心(.x)[[1]]),
lat=map_dbl(几何体,~st_质心(.x)[[2]])
)
标签%
变异(面积=st_面积(几何))%>%
组别(州abb)%>%
顶部(1,面积)%>%
突变(text=str_c(str_to_title(id),“\n”,subs,“subs,$”,income))
ggplot(sf_50)+
主题_极小值()+
geom_sf(aes(填充=参与方))+
坐标单位sf(基准=NA)+
geom_标签_排斥(
数据=标签,
映射=aes(标签=文本,x=lon,y=lat),
尺寸=2
) +
秤、填料、酿酒机(
type=“发散”,
palete=“RdYlBu”,
name=“基于2016年选举的政治联系”
) +
主题(
legend.position=“底部”,
axis.title=元素_blank()
)

ggplot(标签,aes(x=收入,y=子项))+
主题_极小值()+
geom_point(aes(颜色=派对),尺寸=3)+
比例\颜色\离散(name=“基于2016年选举的政治联系”)+
几何体文本排斥(aes(label=state.abb))+
主题(legend.position=“底部”)


由(v0.2.0)于2018-07-02创建。

Hi!请检查,包括为您的数据提供
dput
,以便我们不必手动重建您的数据。这使您的问题更有可能得到回答,并为其他用户提供更好的资源!嗨,谢谢你的反馈。我制作了一些样本数据并在github中提供。嗨,Calum,这真是难以置信。非常感谢你的回答。我试图重新创建这个过程,但最后我得到了一张空白地图。所有的标签都在那里,但美国的实际地图却不见了。你对为什么会发生这种事有什么想法吗?谢谢你回复我。我确实在使用ggplot2版本2.2.1。我应该运行ggplot2的开发版本吗?我提供的数据是随机生成的。这不是真实的数据,因此为什么一些政治派别没有意义。实际数据具有相同的结构。没有错误消息。每个州的标签都会出现,但实际的美国地图却没有。我修正了它!它删除了ggplot2并重新安装了它,它成功了。是的,
geom_sf
还没有移动到发布版本。