R 找出我的数据框中有多少点与区域形状文件重叠

R 找出我的数据框中有多少点与区域形状文件重叠,r,coordinates,overlay,gis,R,Coordinates,Overlay,Gis,我有一个数据框,其中包含一个月内在一个城市发生的所有事故及其位置(大约10000个位置坐标)的列表 Accident ID Name latitudes longitudes Intensity time 1 citycentre -25.5567 +54.00087 minor morning 2 3 4 我需要找出这些事故中有多少发生在一组给定的经度和纬度之间。(例如,在25度和27度之

我有一个数据框,其中包含一个月内在一个城市发生的所有事故及其位置(大约10000个位置坐标)的列表

Accident ID   Name         latitudes longitudes    Intensity  time
 1           citycentre     -25.5567   +54.00087     minor    morning
 2           
 3
 4
我需要找出这些事故中有多少发生在一组给定的经度和纬度之间。(例如,在25度和27度之间,Lontitdes 54度和55度之间)

有没有办法在R上做这样的事情 我是R的新手,因此非常感谢您的帮助。我必须对来自大量月份的数据以及不同坐标对之间的数据进行相同的处理。因此运行循环和使用计数器变量将非常耗时


如果我把我的研究区域变成多边形文件,是否有一个功能可以告诉我事故的数量?我相信有很多方法可以做到这一点。这里只有一个使用非等联接:

library(data.table)
points <- fread("Accident_ID   Name         latitudes longitudes    Intensity  time
 1           citycentre     -28.5567   +54.50087     minor    morning
 2           citycentre     -28.5567   +54.50087     minor    morning
 3           citycentre     0   0     minor    morning
 4           citycentre     100   100     minor    morning")
extents <- data.table(
  extent_id=1:3, 
  x1=c(-30, -20, 1000), 
  x2=c(-27, 20, 1100), 
  y1=c(54, -54, 100), 
  y2=c(55, 55, 100)
)
points[extents, on=.(latitudes>=x1, latitudes<=x2, longitudes>=y1, longitudes<=y2)][
  ,.(N=sum(!is.na(Accident_ID))), by=extent_id]
#    extent_id N
# 1:         1 2
# 2:         2 1
# 3:         3 0
库(data.table)

欢迎来到这里。最好的做法是a.)展示您尝试过的内容,b.)提供一个最小的可复制示例,无需进一步修改即可复制、粘贴和运行。否则,您可能会获得否决票和/或没有答案。