今日代码(200727)--全局空间自相关性
生活随笔
收集整理的這篇文章主要介紹了
今日代码(200727)--全局空间自相关性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼筆記
參考自:R語言空間統計分析
全局空間自相關性
基于k最近鄰計算莫蘭指數
#####空間計量#########導包####library(spdep) library(sp) library(rgdal) library(rgeos)####方法區####citysort <- function(cityname, refername) {nameList = c()for (i in 1:length(refername)) {num = which(refername[i] == cityname)nameList <- c(nameList, num)}return(nameList) }####輸入及整理數據####data <- read.csv("score.csv") head(data) rownames(data) <- data$X data <- data[, -1] colnames(data) <- c(2009:2018)LandL <- read.csv("newLL.csv") str(data)colnames(LandL) <- c("city", "latitude", "longitude") LandL <- LandL[citysort(LandL$city, rownames(data)), ]head(LandL)newLL <- as.data.frame(cbind(LandL$longitude, LandL$latitude)) rownames(newLL) <- LandL$city colnames(newLL) <- c("longitude", "latitude")####空間相關性####spt <- SpatialPoints(newLL) spt_df <- SpatialPointsDataFrame(spt, data) plot(spt)dfnb <- knn2nb(knearneigh(spt_df, k = 4, longlat = T)) dfnb_s <- make.sym.nb(dfnb) col_W <- nb2listw(dfnb_s, style = "W") #moi <- moran(spt_df$`2009`, col_W, length(spt_df$`2009`), # Szero(col_W))#moran.test(spt_df$`2009`, listw = nb2listw(dfnb_s), randomisation = F)#yearName <- c(2009:2018)moiMat <- matrix(0, ncol = 5, nrow = 10) colnames(moiMat) <- c("I", "Expectation", "Variance", "standard deviate", "p-value") rownames(moiMat) <- c(2009:2018)for (i in c(1:10)) {moi_test <- moran.test(data[, i], listw = nb2listw(dfnb_s))testL <- c(moi_test$estimate, moi_test$statistic, moi_test$p.value)moiMat[i, ] <- testL}####數據導出#### write.csv(moiMat, "./output/moiMat.csv")
總結
以上是生活随笔為你收集整理的今日代码(200727)--全局空间自相关性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 书籍推荐(2016-2020)--统计数
- 下一篇: 机器学习(part3)--机器学习与数据