Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找出缺少的区域-在R中的ggplot2中映射_R_Ggplot2_Missing Data - Fatal编程技术网

找出缺少的区域-在R中的ggplot2中映射

找出缺少的区域-在R中的ggplot2中映射,r,ggplot2,missing-data,R,Ggplot2,Missing Data,我使用ggplot2根据议会选区将一些数据映射到英国。英国有650个选区,但在我的数据框中只有634个 我想确定哪些数据缺失,这样我就可以确定这是因为我的工作中有错误,还是因为这16个数据不相关,所以没有任何数据可以报告。我该怎么做?我用过 identical(df$Parliamentary.Constituency.Name, mapfile$Parliamentary.Constituency.Name) 毫不奇怪,这告诉我,这是不相同的,但没有进一步的信息 第二个问题是,如果是后者(或

我使用ggplot2根据议会选区将一些数据映射到英国。英国有650个选区,但在我的数据框中只有634个

我想确定哪些数据缺失,这样我就可以确定这是因为我的工作中有错误,还是因为这16个数据不相关,所以没有任何数据可以报告。我该怎么做?我用过

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
的变量展开数据框,以包括缺少的级别。切换到将使这一点不那么混乱。你能提供一个可复制的例子吗?