Случайные точки в пространстве-времени - PullRequest
0 голосов
/ 28 августа 2018

У меня есть набор компоста даты на несколько лет смертности на дорогах. Мои данные - это координаты x & y. Мне нужно создать случайное распределение данных в качестве контроля, чтобы иметь возможность сравнивать мои данные со случайным контролем и видеть, есть ли горячие точки смертности. Я знаю, что можно создать произвольный набор точек с помощью R, но я не знаю, как сделать их сопоставимыми по времени. Как я могу собрать эти очки в течение нескольких лет?

Еще раз спасибо

Aurora

1 Ответ

0 голосов
/ 21 сентября 2018

Для определения горячих точек лучше использовать 2D-оценку плотности ядра . Ниже приведен пример смертности в результате дорожно-транспортных происшествий на портале данных для штата Вашингтон . Для определения «горячих точек» были использованы график contour и функция kde2d. Пожалуйста, смотрите код ниже:

library(lubridate)
mort <- read.csv("https://data.wa.gov/api/views/mcp7-tcwf/rows.csv?accessType=DOWNLOAD", stringsAsFactors = FALSE)

ll <- t(sapply(mort$Location, function(x) na.omit(as.numeric(unlist(strsplit(x, "\\(|\\,| |\\)"))))))
rownames(ll) <- NULL
colnames(ll) <- c("lat", "lon")
mort2 <- cbind(mort, ll)
mort2$Salvage.Date.Time2 <- mdy_hms(mort2$Salvage.Date.Time)
mort2$month <- month(mort2$Salvage.Date.Time2)
mort2$year <- year(mort2$Salvage.Date.Time2)
mort2 <- mort2[mort2$year> 2016, ]

mort3 <- mort2[with(mort2, lat > 45.5 & lat < 49.& lon > -125 & lon < -116), ]
f1 <- with(mort3, kde2d(lat, lon, n = 100))

plot(mort3$lat, mort3$lon, pch = 18, col = "lightblue")
contour(f1, levels  =  c(0.01, 0.05, 0.1, 0.2), add = TRUE, labcex = 1)

Выход: plots

...