| 所在主题: | |
| 文件名: Stata绘图-按个体绘制变量的时间变化图.zip | |
| 资料下载链接地址: https://bbs.pinggu.org/a-3104845.html | |
本附件包括:
|
|
| 附件大小: | |
|
<!-- markdown css tag --><div class="pinggu_markdown">
<div class="pinggu_markdown__html"><h1 id="stata绘图(一)--按个体绘制变量的时间变化图">Stata绘图(一) | 按个体绘制变量的时间变化图</h1> <blockquote> <p>作者:Mark D. Chatfield 来源:《The Stata Journal》Vol. 18 No.3 改编者:石器时代的大菠萝</p> </blockquote> <p>摘要:在研究时间序列与面板数据时,把随时间变化的每个个体数据绘制成图表(在单独的一张图中)可能是一种有价值的方法。这尤其适用于多个变量是随时间变化的数据,以及可能存在多个时间点的数据,例如,临床试验中的管理数据和患者安全概况。仔细研究几个人的图可以了解数据的性质和质量、生成假设并为数据分析提供依据。 选择一些典型的或少见的图可以提高presentation的效果。本文举例说明了每个个体随时间变化的一个变量和多个变量,并详细介绍了相关的Stata编码技巧和窍门。</p> <h2 id="介绍">介绍</h2> <p>在进行任何分析之前,一个好的统计原则是熟悉并研究一个新的数据集。绘制原始数据的图形可能是研究数据的一种有用方法。它可以帮助你和你的研究团队更好地理解数据。例如,它可以揭示数据的性质和质量(丢失的数据模式、异常值等),并且它可以帮助您为分析选择适当的方向,避免浪费时间和受挫。<br> Cox(2010)讨论了图表数据,强调了个体之间或群体之间的比较。在研究数据集时,将每个个体的数据随时间作图(用单独的图表示)可能是一种被忽视的方法。从本质上讲,这种方法强调的是个体之内的差异(within) ,而不是个体之间的差异(between)<sup>①</sup>。研究少数人的图表可以加深您对数据的理解,并产生对数据提出哪些问题以及如何分析数据的想法。随着时间的推移,在包含多个个体的大量信息的数据集中,绘制原始数据的图形可能会很有挑战性。符号和线条可以相互叠加,这使得图形难以阅读。一种解决方案是为每个个体生成单独的图表。在少数人的信息很少(即只有一两个变量)的情况下,使用twoway的by()选项可以令人满意地实现这一点<sup>②</sup>。代码中对如何在更一般的设置中生成和整理这些图给出注释。</p> <p>改编者注:<br> ① within强调的是单个个体在不同时间点上的差异,而between强调的是多个个体之间的差异。<br> ② Mark(2018)提供了三种绘图方案,如感兴趣,可在stata界面输入“net sj 18-3”,找到相关命令进行下载。综合借鉴Mark(2018)的三种绘图方案,本帖提供一种简易的绘图方案。</p> <h2 id="do命令">do命令</h2> <p>获取附件:<a href="http://note.youdao.com/noteshare?id=eba20f2808b9a8e352c3286c515c7446">http://note.youdao.com/noteshare?id=eba20f2808b9a8e352c3286c515c7446</a><br> 请copy网址进浏览器,再打开;直接点击可能看不到分享。<br> Markdown模式下,帖子无法插入附件以供下载,故以网盘链接的形式提供附件。这是一个有道云笔记的链接,内容允许帖主实时修改。<br> 推荐软件版本:Stata 15(未测试更低版本)</p> <pre><code>***将绘图数据与本文件放置在同个文件夹内,打开do文件Editor,点击execute(do),即菜单下最右边那个图标,不可逐行执行。 forvalues i=1/3 { //对idcode为1-3的个体进行绘图,其中idcode表示个体编码。 use 绘图数据,clear keep if idcode==`i' set scheme sj//有多种样式设定,具体请help scheme,例如彩图s2color。 set autotabgraphs on xtset year ***第一条线:指标A;第二条线:指标B;第三条线:指标C ***由于本例中的指标A与指标B的数量级相近,故它们同时使用左纵轴,而指标C使用右纵轴。 twoway(scatter 指标A year , connect(l) sort ytitle("● 指标A(单位:)" "▲ 指标B(单位:)")xtitle("年份")///为左侧纵轴与横轴命名 yscale(range(0 140)) ylabel(20 60 100 140 "≥140", angle(horizontal)) ///考虑到例子中指标A的取值范围,因此这里ylabel设定为20-140,其中"≥140"是一个标签,其代替了前面的140。这个标签是好用的,因为有时轴上数字会被stata省略汇报,”0.1”会被写作成“.1”,你可以将其做替换:0.1 "0.1" 0.3 "0.3" xlabel(2014 2015 2016 2017 2018 2019) ///x轴的范围是2014-2019。 xmtick(2014 2015 2016 2017 2018 2019, grid notick) xscale(range(2013.5 2019.5)) ///xscale里面的range要比2014-2019稍宽一些,但不要宽太多。 title("idcode `i'") graphregion(color(white)) name(g`id', replace)msymbol(circle) clpattern(solid)) ///每张图上方都有“idcode+数字”,以此为线索来看这是哪个个体。 ///以上是第一条线的绘图。 (scatter 指标B year , connect(l) sortgraphregion(color(white))msymbol(triangle) clpattern(solid) ) /// ///以上是第二条线的绘图,因为指标B也使用左纵轴,故与第一条线共用许多设定。 (scatter 指标C year ,ytitle("□ 指标C(单位:)",axis(2)) yaxis(2) ///yaxis(2)表示启用右纵轴,默认为yaxis(1)启用左纵轴。 connect(l) sort ylabel(00.2 "0.2" 0.4 "0.4" 0.6 "≥0.6" , angle(horizontal) axis(2) ) /// yscale(range(0 0.8)) graphregion(color(white)) msymbol(Sh) clpattern(solid) ) ****以上是第三条线的绘图,使用右侧纵轴。 graph save "figure idcode`i'.gph", replace //推荐保存为gph文件,允许进一步手工调整图片,然后再save成png格式。 } </code></pre> <h2 id="效果展示">效果展示</h2> <p><img src="https://i.loli.net/2020/03/19/gL2OdA4DmzkBFtw.png" alt="graph1.png" width="666" height="466"></p> <p>说明:上面这张图的title是<strong>idcode 1</strong>,后面的数字是个体编码idcode的具体取值,请以此为线索寻找图片对应的个体,并在gph文件中手工为图片修改title。<br> <img src="https://i.loli.net/2020/03/19/IQDZ932mAVuzaFt.png" alt="2.png" width="700" height="300"><br> 在graph editor中,你可以尝试更多操作,例如调整字号、移动文字、打标签等操作,此处不详述。</p> <ul> <li>参考文献,<br> [1]: Chatfield, Mark D. “Graphing each individual’s data over time.” The Stata Journal 18.3 (2018): 503-516.(附件中已提供)</li> </ul> </div> </div> |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明