У меня возникли проблемы с построением карт плотности с помощью R/ggmap. Мои данные выглядят так:
> head(W)
date lat lon dist
1 2010-01-01 31.942 -86.659 292.415
2 2010-01-10 32.970 -84.174 89.121
3 2010-01-17 31.000 -85.363 319.552
4 2010-01-17 31.457 -83.951 258.501
5 2010-01-17 31.073 -81.987 373.915
6 2010-01-17 33.210 -83.149 129.927
И я рисую это, используя это:
ggmap(atlanta.map, extent = "panel") +
geom_point(data = W, aes(x = lon, y = lat)) +
geom_density2d(data = W, aes(x = lon, y = lat)) +
stat_density2d(data = W, aes(x = lon, y = lat, fill = ..level..,
alpha = ..level..), size = 0.01, bins = 8, geom = 'polygon') +
theme(axis.title = element_blank()) +
scale_fill_gradient(low = "yellow", high = "red") +
scale_alpha(range = c(.5, .75), guide = FALSE)
Но, хотя контуры выглядят нормально и НЕКОТОРЫЕ полигоны в порядке, многоугольники, пересекающие границы, разбиваются на две составляющие: правильная «гладкая» часть и прямолинейная часть, замыкающая многоугольник. Эти две части встречаются на границе карты.
Мои данные выходят за границы карты, поэтому у KDE достаточно информации для получения значимых оценок плотности вплоть до границ.
Кто-нибудь знает, в чем может быть проблема? И, что более важно, как я могу это исправить?
Спасибо, Эндрю.