论文中折线图可以表示两个变量间的变化关系,带误差或可信区间的折线图表示其中一个变量的变化范围,既往我们已经使用R语言绘制了分类带误差和可信区间的折线图,今天我们使用Stata来绘制分类带误差和可信区间的折线图。
在这里插入图片描述
继续使用我们的汽车销售数据(公众号回复:汽车销售,可以获得该数据)来演示,先导入数据,我是直接黏贴
在这里插入图片描述
我们来看下数据,car就是汽车售价,age是年龄,gender是性别,inccat是收入,这里分成4个等级,ed是教育程度。
假设想知道不同教育水平中不同性别人群购车的平均价,我们先得对数据进行整理

collapse (mean) car= car age=age,by( ed gender )

在这里插入图片描述
Collapse函数一次可以分组两个变量,但是不能出两个结果,如果你还想知道标准误的结果,只能再做一次,然后合并,这一点就比不上R了。不过也就是多做一次,也不麻烦。

collapse (semean ) se= car ,by( ed gender )

在这里插入图片描述
合并数据,其实很简单直接粘贴在Excel合并就好了。
在这里插入图片描述
把黏贴好的数据重新导入stata
在这里插入图片描述
因为我们绘制的是带可信区间的折线图,所以要先生成可信区间

g up= car+1.96* se
g lp= car-1.96* se

在这里插入图片描述
生成可信区间就可以绘图了,我们先画女性f的,这里要用lcolor控制颜色,不然后期颜色不一样

twoway(rcap up lp ed if gender=="f",lcolor(blue))

在这里插入图片描述
然后画连接线,这里我们使用mlcolor(blue)lcolor(blue)控制颜色,控制的是先得颜色和便面环的颜色,填充的颜色还没有改,所以有点怪怪的

twoway(rcap up lp ed if gender=="f",lcolor(blue))(connected car ed if gender=="f",mlcolor(blue)lcolor(blue))

在这里插入图片描述
使用mfcolor控制填充颜色

twoway(rcap up lp ed if gender=="f",lcolor(blue))(connected car ed if gender=="f",mlcolor(blue)lcolor(blue)mfcolor(blue))

在这里插入图片描述
这样一条线就画好了,我们按照刚才的方法画另一条,非常简单把

twoway(rcap up lp ed if gender=="f",lcolor(blue))(connected car ed if gender=="f",mlcolor(blue)lcolor(blue)mfcolor(blue)) (rcap up lp ed if gender=="m",lcolor(red))(connected car ed if gender=="m",mlcolor(red)lcolor(red)mfcolor(red))

在这里插入图片描述
这个图例不好看,我们关掉它,然后添加上标题

twoway(rcap up lp ed if gender=="f",lcolor(blue))(connected car ed if gender=="f",mlcolor(blue)lcolor(blue)mfcolor(blue)) (rcap up lp ed if gender=="m",lcolor(red))(connected car ed if gender=="m",mlcolor(red)lcolor(red)mfcolor(red)),legend(off) xtitle("教育程度") ytitle("汽车售价")

在这里插入图片描述
最后在修整一下就弄好了
在这里插入图片描述
如果觉得有用就分享给有需要的人吧。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐