Отображение количества вместо "уровней" с помощью stat_de density2d

Моя цель - изобразить места с различным количеством транспортных конфликтов на перекрестке дорог. Мои данные состоят из всех конфликтов, которые мы наблюдали в определенный период времени на перекрестке, закодированных в файл.CSV со следующими полями "время конфликта", "TTC" (означает время до столкновения), "Lat", "Lon" "и" Тип конфликта ". Я решил, что лучший способ сделать это - использовать функцию ggmap+stat_de density2d в R. Я использую следующий код:

df = read.csv(filename, header = TRUE)
int.map = get_map(location = c(mean.long, mean.lat), zoom = 20, maptype = "satellite")
int.map = ggmap(int.map, extent ="device", legend = "right")'''
int.map +stat_density2d(data = new_xdf, aes(x, y, fill = ..levels.., alpha = ..levels..),
                                 geom = "polygon")
int.map + scale_fill_gradientn(guide = "colourbar", colours = rev(brewer.pal(7,"Spectral")),
                                         name = "Conflict Density")

Результатом является очень красивая карта Safety Heat Map, которая правильно отображает горячие точки конфликта. Моя проблема в том, что в легендах он дает значения "уровней", автоматически вычисляемых функцией stat_de density2d(). Я попытался найти способ отобразить, скажем, количество всех конфликтных точек внутри каждого уровня на панели легенды, но безрезультатно.

Я нашел приведенную ниже ссылку, в которой рассматривается аналогичный вопрос, но проблема в том, что она создает новый фрейм данных (new_xdf) с гораздо большим количеством точек, чем в исходных данных. Таким образом, подсчеты, определенные в этой программе, кажутся мне бесполезными, поскольку я хочу, чтобы точное количество конфликтных точек в моих исходных данных отображалось на панели легенд.

Как найти точки внутри контуров в R?

Заранее спасибо.

Изменить: ссылка на образец файла данных

https://docs.google.com/spreadsheets/d/11vc3lOhzQ-tgEiAXe-MNw2v3fsAqnadweVrvBdNyNuo/edit?usp=sharing

0 ответов

Другие вопросы по тегам