找出缺少的区域-在R中的ggplot2中映射
我使用ggplot2根据议会选区将一些数据映射到英国。英国有650个选区,但在我的数据框中只有634个 我想确定哪些数据缺失,这样我就可以确定这是因为我的工作中有错误,还是因为这16个数据不相关,所以没有任何数据可以报告。我该怎么做?我用过找出缺少的区域-在R中的ggplot2中映射,r,ggplot2,missing-data,R,Ggplot2,Missing Data,我使用ggplot2根据议会选区将一些数据映射到英国。英国有650个选区,但在我的数据框中只有634个 我想确定哪些数据缺失,这样我就可以确定这是因为我的工作中有错误,还是因为这16个数据不相关,所以没有任何数据可以报告。我该怎么做?我用过 identical(df$Parliamentary.Constituency.Name, mapfile$Parliamentary.Constituency.Name) 毫不奇怪,这告诉我,这是不相同的,但没有进一步的信息 第二个问题是,如果是后者(或
identical(df$Parliamentary.Constituency.Name, mapfile$Parliamentary.Constituency.Name)
毫不奇怪,这告诉我,这是不相同的,但没有进一步的信息
第二个问题是,如果是后者(或者如果错误无法克服),我希望选区在地图上显示为灰色
在颜色方面,这是我对地图的简化代码:
ggplot() +
geom_map(data = df,
aes(map_id = df$Parliamentary.Constituency.Name,
fill = df$Data.of.interest),
map = mapfile) +
geom_polygon (data = mapfile,
aes(x = long, y = lat, group = group),
colour = NA, fill = NA) +
expand_limits(x = mapfile$long, y = mapfile$lat) +
scale_fill_gradient2(guide = "colourbar", low = ("green4"), mid = ("white"),
high = ("red"), midpoint = 0, na.value = "darkgray") +
coord_equal ())
如您所见,我当前将na.value设置为深灰色,但运行时地图上没有深灰色
编辑:我已经用下面的代码计算出缺少哪些区域,但我仍然不知道如何使它们在地图上变灰。确认一下,它们不见了,因为没有相关数据可供绘制
setdiff(mapfile$Parliamentary.Constituency.Name, df$Parliamentary.Constituency.Name)
您需要使用映射到
fill
的变量展开数据框,以包括缺少的级别。切换到将使这一点不那么混乱。你能提供一个可复制的例子吗?