Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:肖蕊 (上海交通大学)
邮箱:1327536202@qq.com
目录
maptile
命令能够依据特定变量数值的大小将地图上各个区域填充为不同颜色,并生成分级统计图 (Choropleth Map)。maptile
命令的使用需预先安装 spmap
命令,这个命令为使用 spmap
命令提供了方便。
正如帮助文件所述,spmap
命令让用户能够控制几乎所有地图元素的格式,进而可以生成高度切合自身需求的地图。在使用 maptile
命令时,由于多数的自定义设置都储存在地理模板中,调用该命令绘制地图的语法非常简单。
ssc install maptile, replace
ssc install spmap, replace
maptile
命令安装完毕后,可以运行 help maptile
命令来查阅帮助文档。接下来,我们跟随作者 Michael Stepner 给出的「示例」来了解一下这个命令的各种功能。其中,相关数据和命令可通过压缩文件「maptile slides 2015-03 _creation.zip」获取。
在绘制地图前,我们需要先安装可能用到的地图模板,详见「geography templates」。在安装地图模板时要注意对应的地理 ID 变量名称。为了展示作者提供的案例,我们先安装美国和加拿大的地图模板。
. maptile_install using "http://files.michaelstepner.com/geo_state.zip"
. maptile_install using "http://files.michaelstepner.com/geo_can_prov.zip"
接着导入美国数据,并对变量名称和数值大小进行处理。
. sysuse census, clear
. rename (state state2) (statename state)
. * 将单位转化成百万
. replace pop=pop/10^6
. label var pop "Population, in millions"
. rename pop population
. order state population
. keep state population
得到的数据示例如下:
输入命令 maptile population, geo(state)
,即可得到如下结果:
为了生成某个特定的地图,maptile
命令需要使用选项 geography
指示地图的模板。如果没有你想要绘制地区的地理信息,那么你可以创建一个。现在我们使用美国的死亡率数据 mortality_by_state_race.txt,并按照作者提供的如下命令进行预处理。
. lxhget mortality_by_state_race.txt, replace
. import delimited using mortality_by_state_race.txt, clear
. drop if state=="District of Columbia"
. gen black=(race=="Black or African American")
. rename ageadjustedrate mort
. keep state statecode black mort
. reshape wide mort, i(state) j(black)
. rename mort0 mort_white
. rename mort1 mort_black
. order statecode state mort_white mort_black
. label var statecode "State FIPS code"
. label var state "State name"
. label var mort_white "White age-adjusted mortality: per 100,000"
. label var mort_black "Black age-adjusted mortality: per 100,000"
如果我们想要绘制美国 state 层面的数据,那么可以输入命令 maptile_geohelp state
查看对地理编码变量的需求。
按照上述 Geographic ID variables 部分的要求,对原始数据文件的名称进行修改。
. rename statecode statefips
. rename state statename
与文件 state_database_clean.dta 匹配以增加变量 state,然后使用命令 maptile
绘图。
. lxhget state_database_clean.dta, replace
. merge 1:1 statefips using state_database_clean, keep(match) nogen
. maptile mort_white, geo(state) legd(0)
我们先使用命令语句 fastxtile breaks_white=mort_white, nq(6)
按照变量 mort_white (白人死亡率) 的数值大小将观测值分为 6 组。上述绘图结果中,每个组别的观测值数量近乎相等,对应每种颜色覆盖的区域数量也大体相当。Equally-sized 的着色方式把数据按照分位数分组,上述着色的深浅程度是按照如下方式对应的:
我们也可以在命令语句 maptile mort_white, geo(state) legd(0)
结尾加上 propcolor
选项,来使用 Proportionally-spaced 的方式着色。即使用命令 maptile mort_white, geo(state) legd(0) propcolor
后,可以得到如下结果:
可以看出,这样得到的色彩填充情况与前面的图示存在较大差别。事实上,这种着色方式是按照如下步骤进行的:
为了更直观地解释着色过程,我们使用 matrix list r(midpoints)
查看每个组别的中值,得到:
. matrix list r(midpoints)
r(midpoints)[6,1]
c1
r1 656.70001
r2 686.90002
r3 714.39999
r4 738.29999
r5 799.05002
r6 902.60001
基于各组别的中值,对应的着色方式如下:
还有一种 Equally-spaced 的着色方式,这种方式依照数值范围对数据进行分组。不同于前面两种着色方式,此时每个组别中的样本数量不再保持一致。使用命令 maptile mort_white, geo(state) legd(0) cutvalues(650(50)900)
得到的着色效果如下:
按照如下命令分别绘制美国白人和黑人死亡率的分布情况:
. foreach race in white black {
2. maptile mort_`race', geo(state) legd(0)
3. }
白人死亡率的分布情况已经在前文中列出,在此仅列出黑人死亡率的分布情况:
在每张图示中,我们可以清晰地获知如下信息:相比于其他地区,哪些地区的美国黑人/白人处境最糟糕?当我们试图了解相比于美国白人,美国黑人处境如何时,就需要对地区的分割情况进行控制。我们先利用如下命令生成变量 “mort_white_breaks”,来指示白人死亡率分布中各组别的临界点。
. pctile mort_white_breaks=mort_white, nq(6)
然后,我们用这一组相同的临界点将白人和黑人的死亡率展示在图中。
. maptile mort_white, geo(state) legd(0) replace cutp(mort_white_breaks)
. maptile mort_black, geo(state) legd(0) replace cutp(mort_white_breaks)
于是就得到了如下结果:白人的死亡率分布如前文所示,而黑人的死亡率分布的色彩填充发生了明显变化。
在 maptile
的帮助文件中有详细的说明,需要你:
maptile
联系起来。如果你有新的地图模板,可以考虑分享给更多人!
Paul Goldsmith-Pinkham 在其主页上提供了将六边形瓦片图 (Hex Tile Grid Maps) 嵌入 maptile
(州层级) 的地图中,这种图在如下两个方面具有优势:
首先使用如下命令加载地图模板:
. maptile_install using "http://files.michaelstepner.com/geo_statehex.zip"
然后用于绘图的示例数据 state_database_clean.dta 大体情况如下。其中数据处理的原始命令,可从压缩文件「geo_statehex_creation」获取。
利用命令 maptile test, geo(statehex) labelhex(state)
即可绘制出如下图示:
Note:产生如下推文列表的 Stata 命令为:
lianxh 地图, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh