全部版块 我的主页
论坛 经济学论坛 三区 区域经济学
6116 5
2019-01-07

R语言处理部分:


1、setwd

用于设置当前工作目录,可直接利用快捷键“Ctrl+shift+H”完成

2、引用外部函数

在定义好工作目录后,将要引用的函数放在该目录下,然后利用source(‘xxx’)来完成函数的引用


3、利用网上的shp2mat函数完成shp文件中省份面或者是点间距离矩阵的求解


  • 定义好工作区后,引入包

library(matpools)

Library(spdep)


  • 若要制作省份的邻接矩阵

#1 元素取值为0-1


#1.1 省份面


#1.1.1 基于queen邻接关系设定邻居,赋值为1


> pmat1 <-   shp2mat("shp文件名")


#1.1.2 将距离最近的3个单元设为邻居,赋值为1


> pmat2 <-   shp2mat("shp文件名",k=3)


#1.1.3 将500公里以内的单元设为邻居,赋值为1


> pmat3 <- shp2mat("shp文件名",   td=500)


#1.2 省会点


#1.2.1 基于泰森多边形邻接关系设定邻居,赋值为1


> cmat1 <-   shp2mat("shp文件名")


#1.2.2 将距离最近的3个单元设为邻居,赋值为1


> cmat2 <-   shp2mat("shp文件名",k=3)


#1.2.3 将500公里以内的单元设为邻居,赋值为1


> cmat3 <- shp2mat("shp文件名",   td=500)


  • 制作距离矩阵

#2 元素取值为距离,这里基于经纬度计算弧度距离,以km为单位


#2.1 省份面


#2.1.1 给出所有单元间距离


> pmat1 <-  shp2mat("province31_shp\\province31", type="d")


#2.1.2 给出最近三个邻居的距离


> pmat2 <-  shp2mat("province31_shp\\province31", type="d", k=3)


#2.1.3 给出500公里范围内的邻居距离,如无邻居则用距离最近的单元替代


> pmat3 <-  shp2mat("province31_shp\\province31", type="d",td=500)


#2.2 省会点


#2.2.1 给出所有点对间距离


> cmat1 <-  shp2mat("capitals31_shp\\capitals", type="d")


#2.2.2 给出最近三个点的距离


> cmat2 <-  shp2mat("capitals31_shp\\capitals", type="d", k=3)


#2.2.2 给出500公里范围内的邻居距离,如无邻居则用距离最近的点替代


> cmat3 <-  shp2mat("capitals31_shp\\capitals", type="d",td=500)


#给距离矩阵行列赋名并写出权重矩阵////这里要注意NAME是dbf文件中对应的标签名称,网上下载的shp文件有些有NAME有些只有序号。


> unit.names <- provinces@data$NAME

>  dimnames(pmat1) <- list(unit.names,  unit.names)


> write.csv(pmat1,  "province31_distance.csv")


> unit.names <- capitals@data$NAME


> dimnames(cmat1) <- list(unit.names,   unit.names)


> write.csv(cmat1,  "capital31_distance.csv")



STATA部分

在制作好距离矩阵后,需要在stata中分析

注意的地方:空间权重矩阵需要标准化!

spatwmat using sph.dta, name(W)standardize


然后设置好面板数据

xtset place_n t


进行回归

xsmle ln_y_HP xit ln_x_CPI ln_x_inv ln_x_csp,wmat(W) model(sdm) durbin(xit) robust nolog noeffects fe  






shp2mat.rar
大小:(12.22 MB)

 马上下载


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-3-9 16:21:56
感谢您的分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-12-14 09:43:01
和某公众号上的一模一样
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-12-15 01:36:27
感谢楼主的无私分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-3-28 16:22:29
谢谢楼主的分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-14 16:47:13
你好,请问为什么我已经导入了那两个包还是说没有shp2mat这个函数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群