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