我有一个多边形的形状文件和分布在多边形上的另一个点。我想根据每个多边形包含的点创建一个核密度估计。不幸的是,我只能使用 MASS 包中的 kde2d 函数创建平方 KDE。我希望 KDE 的形状为多边形。 有什么建议吗?
kde1 <- kde2d(poly$X, poly$Y, n=100,)
最佳答案
您可以使用 spatstat
包来实现此目的。这是一个阅读的例子
在 sf
的 shapefile 中,生成随机点并运行核密度
估计点的强度(每单位面积的点):
library(sf)
#> Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
nc <- st_read(system.file("shape/nc.shp", package="sf"))
#> Reading layer `nc' from data source `/usr/lib/R/site-library/sf/shape/nc.shp' using driver `ESRI Shapefile'
#> Simple feature collection with 100 features and 14 fields
#> geometry type: MULTIPOLYGON
#> dimension: XY
#> bbox: xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
#> geographic CRS: NAD27
nc_flat <- st_transform(nc, crs = 26917)
W <- as.owin(nc_flat$geometry[1]) # First county of North Carolina data set in spatstat format
library(spatstat)
X <- runifpoint(100, win = W)
plot(X, "Random points")
D <- density(X)
plot(D, main = "KDE")
关于r - R中多边形的Cating核密度估计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65920718/