请选择 进入手机版 | 继续访问电脑版
楼主: 屋古名
8334 5

[问答] R语言ape包计算莫兰指数和自己根据公式写的莫兰指数计算生成了不同的结果 [推广有奖]

  • 0关注
  • 0粉丝

大专生

60%

还不是VIP/贵宾

-

威望
0
论坛币
2069 个
通用积分
0.0275
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
116 点
帖子
3
精华
0
在线时间
115 小时
注册时间
2018-1-2
最后登录
2022-7-15

屋古名 发表于 2019-7-15 13:50:59 |显示全部楼层 |坛友微信交流群
50论坛币
有大佬可以帮我检查一下是为什么吗

自己根据公式写的代码计算莫兰指数

  1. >w <- matrix(c(0,1,1,1,1,0,1,0,1,1,0,1,1,0,1,0),nrow=4,ncol=4,dimnames=list(c("千","昭","天","名"),c("千","昭","天","名")))
  2. >a <- c(80,95,67,78)
  3. >mean(a)
  4. >b <- a-mean(a)
  5. >i <- (length(a)/sum(w))*(t(b)%*%w%*%b)/(t(b)%*%b)
  6. >i
复制代码
           [,1]
[1,] -0.3396985
用R语言ape包 计算莫兰指数
  1. >install.packages("ape")
  2. >library(ape)
  3. >Moran.I(a,w)
复制代码
$observed
[1] -0.3538526


$expected
[1] -0.3333333


$sd
[1] 0.1521452


$p.value
[1] 0.8927175

顺便问一下,有大佬自己写了moran i 的计算和检定公式吗?谢谢!

关键词:R语言 空间计量 莫兰指数
屋古名 发表于 2019-7-21 20:37:17 |显示全部楼层 |坛友微信交流群

使用道具

请问你莫兰指数不显著最后是怎么解决的啊?谢谢啦,我的qq1421760831@qq.com,可以加个qq问你一下吗?我看你这个p值0.89好大啊,这样是不是不显著啊,谢谢啦

使用道具

咸柒粮牡 发表于 2019-11-7 15:40:39 |显示全部楼层 |坛友微信交流群
我也遇到这个问题了,请问楼主解决了吗??

使用道具

涵紫 发表于 2022-1-27 11:31:41 |显示全部楼层 |坛友微信交流群
是因为空间权重矩阵的缘故。ape包中在计算莫兰指数时,选取的空间权重矩阵是经过行标准化处理的;而作者您所计算的空间权重矩阵并没有做相关的处理。当您把空间权重矩阵做完行标准化处理之后,莫兰指数的计算结果就与ape包中一致了。

使用道具

涵紫 发表于 2022-1-27 11:31
是因为空间权重矩阵的缘故。ape包中在计算莫兰指数时,选取的空间权重矩阵是经过行标准化处理的;而作者您所 ...
能看看怎么标准化吗,试了好几个标准化还是不对

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 13:21