library(sp)
library(rgdal)
library(raster)
x<-readOGR(".", "finance")#读取一个有投影的点shp文件
N.list<-list()#创建一个列表
for(i in 1:4){ #循环次数,我暂时用了4次,但至少也要用1000
Sample.x<-sample(1:7059,600)#点的数量为7059个,随机抽取600个
Point.x<-x[Sample.x,]#600个点
distance.x<-pointDistance(Point.x,lonlat=FALSE)#计算600个点两两之间的距离
y<-distance.x/1000#距离单位是米,将其变为千米
y<-round(y,0)#将数值取整
split.point=seq(min(y),max(y),by=1) #设定频数的分割长度为1,即分别统计每公里的数量
result<-hist(y,breaks=split.point)#得到每个公里上的频数
N.list[[i]]<-result$counts #放到列表中
}
这段程序不做循环的话是没有问题的,但做了循环就报错
Error in x@coords[i, , drop = FALSE] : subscript out of bounds