在以前的博客中,r和Geoda介绍了计算sfdhmg指数的方法,但是考虑到可能需要定制空间权重矩阵来计算sfdhmg指数,这两种方法有点复杂。 所以,今天Stata将分享计算sfdhmg指数的方法~
目录1、数据准备1.1数据部署1.2软件包下载2、权重矩阵部署3、sfdhmg指数计算3.1全局sfdhmg指数计算3.2本地sfdhmg指数计算4、sfdhmg指数图全部代码1、数据准备1.1数据部署
本次案例使用的数据为15-19年全国人均GDP,数据图如下。
在Stata中导入数据的方法非常有用,通常分为以下两部分:
打开数据编辑器,直接复制并粘贴excel数据即可
如果存在dta文件,则可以在命令行中输入use dta文件的地址。 例如,如果dta文件位于d驱动器上,则可以使用use 'D:/data.dta '导入。 (1.2软件包下载sfdhmg指数计算的相关软件包需要预先下载。 在命令行中输入findit spatwmat,然后单击sg162包
二、引入权重矩阵的主要命令如下:注意using后没有引号,standardize表示行标准化
spatwmat using d:/weight.dta,name(w ) standardize 权重数据文件需自行构造,示例图为邻接矩阵样例
注意事项:
与excel权重矩阵的格式不同,如果不是Stata中第一列是没有省份列的,后续程序将报告错误。权重矩阵文件里的省份顺序需要和数据文件的省份顺序保持一致例如,每个省的人均GDP数据文件依次为北京、天津、…、新疆,相应的权重矩阵也应该这样排序。 Geoda和r主要通过shp文件构建权重矩阵,但Stata可以自己构建dta文件。 因此,也很适合引入自定义权重矩阵。 三、sfdhmg指数计算3.1全局sfdhmg指数计算在邻接矩阵w中,计算15-19sfdhmg指数
spatgsay _ 2015 y _ 2016 y _ 2017 y _ 2018 y _ 2019,weights(w ) moran
如果想一键显示结果,可以使用asdoc命令将结果输入word (asdoc必须在SSC安装as doc上安装),如下图所示。
3.2熟悉局部sfdhmg指数计算stata编程的朋友,这里是spatlsa y_2015,weights(w ) moranspatlsa y_2016,weights(w ) moranspatlsa y_2016
四、sfdhmg指数图spatlsa y_2015、weight(w ) Moran id (province (graph ) Moran (symbol ) id )该图在stata中背景显示是黑底,复制到word中是透明的
所有代码findint spatwmat #安装软件包spatwmat using d:/weight.dta, name(w ) standardize #导入权重矩阵spatgsay _ 2015 y _ 2016 y _ 2017 y _ 2017 weight (ws (w ) moran #计算全局矩阵'