查看原文
其他

学会了这些,分分钟提升你的毕业体验

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:王   彤,中南财经政法大学统计与数学学院

本文编辑:陈丹慧

技术总编:戴   雯

Stata&Python云端课程来啦!

     寒雪梅中尽,春风柳上归。为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&python特惠课程双双上线腾讯课堂~原价2400元的Python编程培训课程,现在仅需100元,详情请查看推文《Python云端课程福利大放送!0基础也能学~》;原价600元的正则表达式课程,现在仅需49.9元,详情请查看推文《与春天有个约会,爬虫俱乐部重磅推出正则表达式网络课程!》;原价600元的基本字符串函数课程,现在仅需49.9元,更多信息请查看推文《与春天有个约会,爬虫俱乐部重磅推出基本字符串函数网络课程;原价600元的网络爬虫课程,现在仅需49.9元,更多信息请查看推文《与春天有个约会,爬虫俱乐部重磅推出网络爬虫专题课程》原价600元的文本分析课程,现在仅需49.9元,更多信息请查看推文与春天有个约会,爬虫俱乐部重磅推出文本分析网络课程。变的是价格,不变的是课程质量和答疑服务。对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦!

毕业季,我们带着几分欣喜、几分焦虑、几分迷茫,即将奔赴人生的下一个旅程。在大家满怀期待畅想未来的时候,可别让毕业论文“拖了后腿”。说起毕业论文,通过Stata做出实证结果后,比如下面这张图~

怎么把这个结果准确美观地放到word上,是我们不得不考虑的问题!当然,如果不怕麻烦的话,我们可以在word上画出表格,再把Stata中的结果一个一个粘贴过去。然而,如果“不幸”需要多次检验、多次操作,一个一个复制粘贴的话,实在是影响效率!

为了让大家的论文写作更加顺利,更加快速地将实证结果导出到Word上,贴心的小编带着爬虫俱乐部独家开发的命令xxx2docx来啦,学会了它们,分分钟提升你的毕业体验。



前期准备


本文以大家最熟悉的Stata自带的auto数据集为例,为大家展示sum2docx、t2docx、corr2docx、reg2docx 这四个结果输出命令的魅力,以上命令均可通过ssc install XXX,replace进行安装和更新。在正式开始之前,大家需要先导入auto数据集。
sysuse auto, clear

1.描述性统计输出——sum2docx

sum2docx命令主要用于将变量的描述性统计信息输出到Word文件中,语法结构为: sum2docx varlist [if] [in] [weight] using filename,[options]
主体部分中,varlist 为所要报告的变量名, filename为所要输出的文件名,文件名前可添加输出文件的路径,另外3个命令的主体部分与sum2docx 基本一致,相同部分不再赘述。
将mpg、weight、length、rep78、foreign这5个变量的部分统计量报告至Word文档中,程序如下:
sum2docx mpg weight length rep78 foreign using 描述性统计表.docx, /// replace stats(N mean(%9.2f) sd(%9.2f) median p25 p75) /// landscape title("Summary Statistics of auto") font("Times New Roman",14,"black") /// note("this is auto's Summary Statistics") pagesize(A4)

命令讲解

  1. 添加replace选项允许替换已经存在的同名文件;如果使用append命令,则可将结果添加到已经存在的文件中。

  2. stats()选项指定要输出的描述性统计量以及统计量的格式,格式在统计量后面用小括号加以说明。

  3. landscape如果报告的统计量比较多,通过添加landscape选项将页面横向设置。

  4. title()选项指定输出表格的标题;font()选项可以设置字体、字号、颜色。

  5. note()选项用于在表格下方添加注释。

  6. pagesize()选项设置纸张大小。

命令特点

  1. 可以分别设置输出统计量显示的小数点位数,默认保留小数点后三位小数,这里mean(%9.2f) sd(%9.2f)表示Mean和SD的数据保留小数点后两位小数。

2.分组 T 均值检验——t2docx

如果对样本进行分组后,比较两组样本基本特征是否存在差异,就会用到分组均值t检验;在双重差分模型中,通过PSM(倾向得分匹配)为实验组匹配对照组后,比较匹配后的两组样本基本特征是否仍存在差异,也会运用分组均值t检验。t2docx命令可以将分组均值t检验的结果输出到Word文档中,语法结构为:t2docx varlist [if] [in] using filename,[options] by(groupvar)需要注意的是, by(groupvar)为一个必选选项,表示依据分组变量groupvar将样本分为两组,比较这两组样本变量均值的差异。我们依据分组变量foreign将样本分为国产车组和进口车组,并比较这两组车在price、mpg、weight和length几个方面是否有差异,程序如下:
t2docx price mpg weight length using 分组均值t检验.docx, replace by(foreign) ///title("Grouped mean t test") note("*** p<0.01, ** p<0.05, * p<0.1") ///pagesize(A4) font("Times New roman",1,black) landscape fmt(%9.2f) p

命令讲解

  1. fmt()选项可以设置数字的显示格式,默认为fmt(%9.3f)(即相关系数保留小数点后三位数字),这里保留了小数点后两位数字。

  2. 默认输出t统计量,可以通过添加p选项和se选项可指定输出t检验的p值或se(标准误)代替t统计量,但p选项和se选项不可同时指定,即不可同时输出p值和标准误se;如果t统计量、p值和标准误均不输出,则可以添加not选项。这里添加了p选项,故结果中输出了p值,而未输出t值。

  3. replacetitle()note()pagesize()font()的功能与sum2docx 中一致。

命令特点

  1. 输出表格中含有mean-diff这一列差分值,并在结果后面标注了星号。

  2. 输出结果是自动剔除包含缺失值的观测值以后的结果。


3.相关系数矩阵输出——corr2docx

相关性检验用于分析变量之间的相关性,我们希望用于回归的因变量与自变量之间相关性较大,自变量与自变量之间尽可能不相关。corr2docx命令主要用于将变量的相关系数矩阵计输出到Word文件中。以rep78变量为权重,输出price、weight等6个变量之间的相关系数矩阵,程序如下:
corr2docx price-weight [weight = rep78] if foreign==0 using 相关系数矩阵.docx, ///replace fmt(%9.2f) title("Correlation coefficient matrix") pagesize(A4) landscape ///  note("** p<0.01, * p<0.05") star(* 0.05 ** 0.01) font("Times New roman",14,"black") ///nodiagona pearson(pw sidak)

命令讲解

  1. star()选项可以在括号内自定义显著性水平的标识,这里star(* 0.05 ** 0.01) 表示在 5% 水平显著的相关系数后缀为 *,1%水平显著的相关系数后缀为**。

  2. nodiagonal选项将矩阵主对角线默认的数值1替换为空。

  3. pearson()选项用于对皮尔森(pearson)相关系数的输出做某些设定,使用pearson(ignore)可以指定不报告皮尔森相关系数。

  4. replacefmt() 等功能上文已介绍。

命令特点

  1. 使用corr2docx命令不能直接报告出p值,但会按照star()中的规定标注星号。

4.回归结果输出——reg2docx

最后一步,到了回归结果输出的环节了。首先,为了显示将虚拟变量引入回归模型的结果表,我们生成两个虚拟变量ind1ind2
gen ind1=(length>200)gen ind2=(turn>40)数据结果如下图所示:

接下来我们分别做不引入虚拟变量、引入虚拟变量的ols回归和probit回归。
reg price mpg-weightest store m1reg price mpg-weight ind1 ind2est store m2probit foreign mpg-weightest store m3probit foreign mpg-weight ind1 ind2est store m4最后将回归结果输出到Word文档。
reg2docx m1 m2 m3 m4 using 回归结果输出.docx, ///replace indicate("ind=ind*") order(weight mpg) ///scalars(N r2_a(%9.3f) r2_p(%9.2f)) t(%7.2f) title("regression results") ///star(* 0.1  ** 0.05  *** 0.01) note("*** p<0.01, ** p<0.05, * p<0.1") ///font("Times New roman",14,"black") mtitles("OLS" "OLS" "probit" "probit")

命令讲解

  1. noconstant选项可以设置不输出截距项。

  2. indicate("ind=ind*")表示将所有以ind开头的变量从表格中删除,改为报告变量ind,用Yes和No表示是否控制这些变量。

  3. order(weight mpg)表示将weight、mpg这两个变量放在表格的前两行。

  4. scalars()选项可以输出任何ereturn list中的scalars部分的参数,如N、r2_a、r2_p、aic、bic、F等,默认情况下仅输出样本量。

  5. mtitles()选项用于定义各列标题,各列标题之间,用空格隔开。

命令特点

  1. 添加了indicate()order(list)等比较实用的选项。

  2. 命令运行之后会将所有储存的回归结果清除,导致后面无法再继续使用前面的回归结果。

以上就是对实证结果输出四个命令的介绍啦~

小结


  1. XXX2docx命令均支持中文;

  2. 运用XXX2docx将结果直接导入到Word文档时,Stata界面均不能看到相应的结果;

  3. 实证研究中一般默认***表示p<0.01,**表示p<0.05,*表示p<0.1,t2docxcorr2docxreg2docx命令中均可加入star()选项,并可以在括号内自定义显著性水平的标识。

最后祝大家,回归结果三星显著,输出顺利无阻,文思畅达,奔向自己的星辰大海!

对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!

往期推文推荐

【爬虫实战】双一流大学的月关注度

【爬虫实战】“中国人不吃这一套”——人民日报微博评论分析

进化的标签管理助手——elabel命令

“学术明星”——双重差分法(DID)的Stata操作

偷懒小妙招| selenium之玩转鼠标键盘操作(上)

【爬虫实战】南京地铁又上热榜——客流量分析

renfiles:批量重命名文件的利器

Stata中字符串的处理

物以类聚——浅述k-means聚类算法

我在哪里?调用高德API获取地址经纬度信息

超级简单的条件函数,轻松生成虚拟变量

Python云端课程福利大放送!0基础也能学~

【爬虫实战】“我们,继续新故事”——爬取LOL英雄皮肤

“人像动漫化”—Python实现抖音特效

跨框架合并数据|frlink的用法,你get到了吗

《唐探3》做错了什么?|来自150万字影评的证据

爬虫俱乐部年度总结|《请回答2020》

春节假期临近,来爬爬豆瓣看看有什么好剧

putdocx生成Word文档so easy!

模糊匹配我只用这一招!

利用tushare获取财务数据

爬虫实战|Selenium爬取微信公众号标题与链接

轻轻一点,就知有没有|rqrs命令介绍

强大的正则表达式

自动群发邮件(二)——附带附件

自动群发邮件--email和smtplib基本模块的使用

关于我们 


微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存