【819】emerging hotspot analysis数据集
参考:Emerging Hot Spot Analysis(前半部分是static hotspot analysis)
参考:dplyr 说明文档
运行例子里面的数据集可以,但是自己的数据集死活不行,开始以为是数据的问题,也就是计算中出错,各种修改数据都是无法运行,后面我就想,我制作一个跟例子数据集一模一样的数据集,只有polygons是不同的,但是还是不行,我考虑了投影关系,切换投影还是不行,我考虑polygon大小的问题,把大小调整到例子的大小,还是不行,然后我考虑替换某几个例子的polygon和我的数据集,奇怪的事情发生了,替换少的时候可以运行程序成功,但是替换多的话就不行了,于是我考虑问题可能是我的数据的polygon过于复杂,于是我用simplify的方法把polygon简化,结果的确出现了可以正常运行的数据集,最终问题解决,就是过于复杂的边界导致计算内容过于复杂而无法运行这个方法,所以解决方案就是将图形简化。
df_eu_sim.csv, geo_eu_sim.gpkg: df_geo_eu_sim.zip
library (tidyverse)
library (sf)
library (openxlsx)
library (ggplot2)
library (tmap)
#tmap_mode("view")
library (sfhotspot)
library (sfdep)
library (dplyr)
# Set default work directory
setwd ( "/Users/libingnan/Documents/09-Samsung/12-Polygon-based emerging hotspot analysis/01-Country-based-data-monkeypox" )
#df <- readr::read_csv("df_official.csv", col_types = "ccidD")
df <- readr:: read_csv ( "df_eu_sim.csv" , col_types = "Ddc" )
df$ecometric <- NULL
df$year <- NULL
#geo_fp <- system.file("extdata", "bos-ecometric.geojson", package = "sfdep")
#geo <- sf::read_sf(geo_fp)
geo <- sf:: read_sf ( "geo_eu_sim.gpkg" )
# Create spacetime object called `bos`
bos <- spacetime (df, geo,
.loc_col = ".region_id" ,
.time_col = "time_period" )
# conduct EHSA
ehsa <- emerging_hotspot_analysis (
x = bos,
.var = "value" ,
k = 1,
nsim = 9
)
ehsa
说明:
- df:包含polygon地理数据的ID值、time_period的值,具体的value
- geo:包含不重复的polygon地理数据的ID值以及对应的polygon的具体经纬度信息
df:

geo:

注意参数 nsim,如果值过小可能就无法分出结果,设置为 199 或者 999 就可以很容易得到丰富的结果!
浙公网安备 33010602011771号