【统计学】stata 梳理输出命令逻辑关系 asdoc outreg2 logout esttab区别 优劣势

本文主要是介绍【统计学】stata 梳理输出命令逻辑关系 asdoc outreg2 logout esttab区别 优劣势,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

初学stata的时候对于stata输出的逻辑颇为疑惑, 因为学python和cpp的时候输出函数就是那几个非常的简单,而statac的asdoc、outreg2、logout 和 esttab 这些常见的命令在跳出来的时候往往分不清楚,也不知道为什么代码里要这么用。
本文就是梳理常见的一些输出命令,在平时学习尤其是计量经济学这样的学科时能够降低理解难度。

本文主要梳理的命令包括但不限于 asdoc、outreg2、logout 和 esttab ,主要介绍其用法。以上命令都可以通过 ssc install 命令名称, replace 安装更新

二、结果输出的各种命令

一般来说,outreg2 只支持描述性统计输出和回归结果输出,logout 支持分组 T 均值检验和相关系数矩阵的输出,tabstat一般用于输出基本统计量,asdoc支持描述性统计输出,局限性较大;esttab在回归结果、描述性统计、分组T均值检验和相关系数矩阵的输出都较为实用,运用范围比较广。

总的来说就是 初学stata可以多关注关注logout和asdoc,注重研究的可以多学习esttab和outreg2。
脑图

三、统计量

  • 计算(想要得到多个数据的基本统计量)
    tabstat
    在这里插入图片描述
    从初学角度,stats是statistics的缩写,代表设置输出格式
  • statistics():可以输入的全部统计量有:N mean sd min median max p1 p5 p10 p25 p75 p90 p95 p99。若为空,则默认输入N mean sd min median max。
  • 上述命令的意思是输出这几个维度的mean sd min p50 和max几个统计量 数据格式为f(%6.2f)
    在这里插入图片描述
  1. 输出

logout将上述基本统计量表格输出至Word/EXCEL

*输出至word
logout ,save(table) word replace:  ///tabstat  price wei len mpg rep78, ///stats(mean sd min p50 max) c(s) f(%6.2f)
*输出至excel
logout ,save(table) excel replace:  ///tabstat  price wei len mpg rep78, ///stats(mean sd min p50 max) c(s) f(%6.2f)

asdoc是另外一个很有力的输出方法,sum代表summarize,像summarize、correlate、tabstat、cross-tabs、regressions、t-tests等命令的结果输出都可以通过这种方法,只要在前面加一个"asdoc“就可以了
asdoc也可以将多个回归结果融合成一个表格,不断滚雪球;也可以按照分类进行分组描述性统计
想了解更多的asdoc命令或者有看不懂的地方可以戳这个链接asdoc:Stata 结果输出又一利器!

local varlist "wage age race married grade collgrad south union occupation"
///这里你们要自己试验的话就把varlist里字符替换成自己的变量好了
asdoc sum `varlist', save(Myfile.rtf) replace ///stat(N mean sd min p50 max)  dec(3) ///title(asdoc_Table: Descriptive statistics)

esttab能分别设置每个统计量的小数点位数,通过在相应的统计量后面加(fmt(n))来实现控制n位小数位数

local varlist "wage age race married grade collgrad south union occupation"
estpost summarize `varlist', detail
esttab using Myfile.rtf, ///cells("count mean(fmt(2)) sd(fmt(2)) min(fmt(4)) p50(fmt(4)) max(fmt(4))") ///noobs compress replace title(esttab_Table: Descriptive statistics)

如果变量名字想用中文的可以试试sum2docx,它也可以像esttab一样控制小数位数,但是缺点在于没办法在命令界面看到结果。

local varlist "wage age race married grade collgrad south union occupation"
sum2docx `varlist' using Myfile.docx,replace ///stats(N mean(%9.2f) sd(%9.3f) min(%9.2f) median(%9.2f) max(%9.2f)) ///title(sum2docx_Table: Descriptive statistics)

以上命令在自己运行时将varlist局部变量""中的变量替换成自己的变量即可。
例如:

local varlist " prate mrate totpart totelg"
estpost summarize `varlist', detail
esttab using Myfile.rtf, ///cells("count mean(fmt(2)) sd(fmt(2))") ///noobs compress replace title(esttab_Table: My Descriptive statistics)

四、相关系数矩阵

asdoc命令比较简单,但是局限性很多,没办法自定义星号和p值输出,适合初学使用

local varlist "wage age race married grade collgrad"
asdoc cor `varlist', save(Myfile.doc) replace nonum dec(3) ///title(asdoc_Table: correlation coefficient matrix)

corr2docx支持中文,而其他命令不行。

local varlist "wage age race married grade collgrad"
corr2docx `varlist' using Myfile.docx, replace spearman(ignore) pearson(pw) ///star title(corr2docx_Table: correlation coefficient matrix)

在输出时logout会出现串行问题,也没办法输出标题,所以比较麻烦,不推荐使用

local varlist "wage age race married grade collgrad"
logout, save(Myfile) word replace : pwcorr_a `varlist', ///star1(0.01) star5(0.05) star10(0.1)

可以自定义星号的方法:pwcorr_aesttab(esttab的使用和引申可以具体看一下这篇文章,解释了一下命令的理解方法和逻辑)

pwcorr_a price weight mpg displ, star1(0.01) star5(0.05) star10(0.1)
sysuse auto, clearlogout, save(数量经济学) word replace: ///        
pwcorr_a price wei len mpg displ, star1(0.01) star5(0.05) star10(0.1)
///
///esttab
///
local varlist "wage age race married grade collgrad"
estpost correlate `varlist', matrix
esttab using Myfile.rtf, ///unstack not noobs compress nogaps replace star(* 0.1 ** 0.05 *** 0.01) ///b(%8.3f) p(%8.3f) title(esttab_Table: correlation coefficient matrix)

五、回归结果

最符合一般投稿、研究、各种文献的图表格式的命令esttab,做出的图是这样的(注意统计量和变量在表中的位置
在这里插入图片描述
命令如下:

reg wage age married occupation
est store r1
reg wage age married collgrad occupation
est store r2
reg wage age married collgrad occupation race_num*
est store r3
esttab r1 r2 r3 using Myfile.rtf, ///replace star( * 0.10 ** 0.05 *** 0.01 ) nogaps compress ///order(married) drop(occupation) b(%20.3f) se(%7.2f)  ///按married排序,同时舍弃occupationr2(%9.3f) ar2 aic bic obslast scalars(F)  ///indicate("race=race_num*") mtitles("OLS -1" "OLS-2" "OLS-3") ///title(esttab_Table: Regression result) 

asdoc命令输出的图片不如前者正规,且不能对变量排序,可理解为”滚雪球多次"

asdoc reg wage age married occupation, save(Myfile.doc) nest replace ///cnames(OLS-1) rep(se) add(race, no)
asdoc reg wage age married collgrad occupation, save(Myfile.doc) nest append ///cnames(OLS-2) add(race, no)
asdoc reg wage age married collgrad occupation race_num*, save(Myfile.doc) nest append ///add(race, yes) cnames(OLS-3) dec(3) drop(occupation race_num*) ///stat(r2_a, F, rmse, rss) title(asdoc_Table: regression result)

但是如果研究仅仅需要输出R^2,不需要F统计量不需要在第三次回归后增添统计量,可以使用asdoc,比较方便,结果如图。(详细请看asdoc:Stata 结果输出又一利器!

在这里插入图片描述

参考:

Stata:毕业论文大礼包 A——实证结果输出命令大比拼
Stata结果输出:logout、esttab、logout2

这篇关于【统计学】stata 梳理输出命令逻辑关系 asdoc outreg2 logout esttab区别 优劣势的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/192154

相关文章

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们