查看原文
其他

分组进行描述性统计的小技巧 --astx命令介绍

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

本文作者:任   哲,中南财经政法大学经济学院

本文编辑:王   彤

技术总编:余术玲

爬虫俱乐部云端课程

  爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律与制度专题训练营已经圆满结束啦~应广大学员需求,我们的课程现已在腾讯课堂全面上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦》或《8月Stata数据分析法律与制度专场来啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠券!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元

前言

在Stata的初学者进行实证研究时,会遇到各种各样的小问题,而如何对手中的数据进行分组描述性统计应该是大多数初学者都会头疼的问题。在中文互联网上,关于这个问题有不少的解决方法,其中最方便的就是使用tabstat命令。但是,tabstat命令不能把结果输出到外部的文件之中,所以今天我们要介绍一个很好用的命令--astx命令,来帮助实现结果输出。astx命令由来自巴基斯坦的大神Attaullah Shah编写,它能够根据你设置的分组进行描述性统计计算和t检验,并将结果输出到excel表格之中。在查看astx命令的ado文件之后,小编发现该命令是基于tabstat命令编写的,tabstat命令是Stata自带的命令,这样就保证了结果的准确性。astx命令上传于2017年,可惜的是三年的时光过去了,在中文互联网上竟然还无法找到该命令的详细介绍。为了不使明珠蒙尘,文章接下来就来介绍该命令的用法。

一、命令安装

astx命令的安装极其简单,使用以下程序安装即可:ssc install astx ,replace

二、语法

        astx命令的语法简单明了,具体如下:

astx varlist, stat(options) by(varlist)
varlist:指需要进行描述性统计的变量名。(可同时输入多个变量名,但不推荐,原因在下文说明)by():填入的变量名作为分组依据。stat(options) :在此输入你需要的各种指标,该命令可以输出的指标如下表所示:
选项名说明
sd标准差
mean平均值
semean标准误差平均值
median中位数
count非缺失的观测值个数
sum求和
range极差(范围误差、全距)
min最小值
max最大值
cv变异系数
skewness偏度
kurtosis峰度
iqr四分位距(四分差)
p1第1百分位数
p5第5百分位数
p10第10百分位数
p25第25百分位数
p50第50百分位
p75第75百分位数
p99第99百分位数
tstatt检验

三、案例

下面我们用一个具体的案例来展示astx命令的魅力。在数据上,我们仍然使用Stata自带的auto数据集,由于该数据集中变量foreign里已经根据汽车是否国产对数据进行的分组,国产取值为0,进口取值为1。下面就直接对变量price进行操作。sysuse auto.dta, clear
astx price,stat(sd
mean median max min) by(foreign)

我们可以看到描述性统计结果已经分组展现在我们面前,并且输出到了名为Summary Statistics by foreign.xlsx的文件之中,你可以直接点击红框中的蓝色字体打开该文件,也可以在Stata当前指定的路径下找到该文件打开。文件打开如下:

在本例中,是按照变量foreign进行分组的,所以文件名称为Summary Statistics by foreign.xlsx 。如果按照变量XXX进行分组,那么文件名就会是Summary Statistics by XXX.xlsx 。当然,astx命令还可以输出分组t检验的结果。具体如下:astx price, stat(sd mean median max min tstat) by(foreign)

最后,astx命令是可以同时输出多个变量的分组描述性统计结果的,但是会有一些瑕疵。这次,我们对price weight rep78三个变量同时进行分组描述性统计,具体如下:astx price weight rep78,stat(sd mean median max min) by(foreign)

可以看到,当对多个变量同时进行描述性统计输出时,在输出的结果之中,无法正确显示分组情况。我看可以看到红框之中显示为0、1、1、1、1、1,这里实际上是错误的。根据小编验证,前三行是price weight rep78三个变量在foreign = 0时的描述性统计结果,后三行是price weight rep78三个变量在foreign = 1时的描述性统计结果,所以红框之中正确的显示应该是0、0、0、1、1、1。还有就是,多个变量时,该命令无法进行t检验。所以,在使用astx命令时小编并不推荐同时对多个变量进行分组的描述性统计。

四、其他注意事项

1、在分组变量by()那一栏,astx命令只能识别数值型的变量作为分组依据。2、在输出之前,无法对即将输出的excel文件进行设置,如更改文件名称、更改字体格式等等。好了,以上就是astx命令的全部介绍了。关于结果输出,我们爬虫俱乐部也开发了sum2docxreg2docxt2docxcorr2docx等命令。感兴趣的读者可以阅读以下推文了解。《命令更新之sum2docx:将描述性统计输出至Word文档》《命令更新之reg2docx:将回归结果输出到word》《命令更新之t2docx——报告分组均值t检验》《命令更新之corr2docx:将相关系数矩阵报告至Word文档》



对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!往期推文推荐新年快乐|爬虫俱乐部2020年度总结

不能忘却的记忆| B站弹幕爬虫

Python中实现Excel的重复值提取fileexists:告诉你“我”存在吗?

工作中一切困难的解决途径——motivatedolly

【爬虫实战】喜茶的门店都开在了哪里?

import delimited | 再也不用担心读入网页源代码“乱七芭蕉”了

如何简洁地列出指定属性的变量?ds命令来了!

如何在Python中进行描述性统计分析?

分析师和他们的雇主重视与管理层接触吗?——分析师参与盈余电话会议的研究

繁忙的董事与公司业绩:来自并购的证据使用Python接口读取CSMAR数据列表生成式|让你的代码简洁又美观Stata中变量观测值的亲密伙伴——levelsof命令

爬虫俱乐部开发的命令更新及常见问题说明

Seminar | 道德培训真的有用吗?

网络爬虫入门之requests 库的基本使用——以亚马逊图书界面为例reduce()函数和filter()函数闪亮登场“环环”入扣之foreach命令

统计年鉴数据整理小技巧

关于我们


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

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

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

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