作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 R 计算空间自相关的 Moran I 检验时遇到问题。
我做了以下事情:
#I download all the appropriate libraries
library(maptools)
library(spdep)
library(splancs)
library(spatstat)
library(pwt)
#i import my shapefile and I calculate the coordinates
serbia<-readShapePoly("SRB_adm1")
coords<-coordinates(serbia)
#i created a weigthed matrix using the above definition of neigbour(dnb60 object)
dnb60.listw<-nb2listw(dnb60,style="W", zero.policy=F)
#i import my dataset which contains around 500 variables and is a firm level dataset containing 2373 firms.
library(foreign)
statafile<-read.dta("path", missing.type = T, warn.missing.labels = T)
#i combine the shapefile(serbia) with the imported dataset(statafile) and created file with coordiantes (new) using common variable ID_1(region code). My final dataset is data_total.
new<- cbind(coordinates(serbia), serbia$ID_1)
newdata <- data.frame(new)
names(newdata)<-c("X", "Y", "ID_1")
cis_08_10 <- merge(statafile, serbia, by="ID_1", all.x=T)
data_total<-merge(cis_08_10, newdata, by="ID_1",all.x=T)
我对最终数据集 data_total
中特定变量 prod_ser
测试的计算 Moran 感兴趣。
我做了以下事情:
#calculating Moran I test
moran.test(data_total$prod_ser, dnb60.listw, randomisation=F)
I get the following error: Error in moran.test(data_total$prod_ser, dnb60.listw, randomisation = F) :
objects of different length
现在,data_total$prod_ser
的长度为 2373,dnb60.listw
的长度为 3。我认为主要问题是 W
矩阵是使用包含 25 个区域的 serbia
shapefile 创建,而 prod_ser
变量是来自 data_total
的公司级变量,有 2373 个公司(我想应该对应到点数据,以公司为点)。
为什么合并数据集没有帮助?我还需要做什么才能计算出没有此错误的 Moran I?
最佳答案
嗯!你已经自己发现问题了。这正是您收到此类错误的原因。 'dnb60.listw' 基于数据集 serbia,因为您在 moran.test 公式中使用了'data total',所以您会遇到这样的错误。您应该首先合并数据,然后根据合并的数据估计“dnb60.listw”,然后计算 Moran I。你应该没事的。
附言我不是 R 方面的专家,英语也不是我的第一语言,因此,如果有任何误解,我提前道歉 :)
关于r - 计算莫兰 I 测试空间自相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101043/
我是一名优秀的程序员,十分优秀!