Определите, какие регионы отсутствуют - отображение в ggplot2 в R - PullRequest
0 голосов
/ 23 июня 2018

Я использую 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)
...