参考: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
标签:emerging,polygon,hotspot,library,819,analysis,数据 From: https://www.cnblogs.com/alex-bn-lee/p/17211569.html