赞
踩
根据用处分类了stata的基础命令,在代码块列举了最经典的使用例子。如果觉得有用请收藏吧!
p.s. 代码块滑动下面,往右看遮住的注释。
查找和帮助
help pwcorr
安装stata非官方命令
- ssc install ivqreg2
- net install ivqreg2
显示STATA的安装路径;计算并显示
- sysdir
- display 4/2
- log using filename [, append replace [text|smcl] name(logname) nomsg]
- log close
- log {off|on} [logname] 暂时关闭打开 log文件
单行注释
- * hello world
- ********hello world***********
- help reg //查找reg命令的意思
多行注释
- /* hello
- world */
- reg price wei len mpg /*
- */ froeign i.rep78, robust 利用多行注释换行
调用数据;调用数据的某变量;描述数据;将数据导出Excel
- use https://www.stata-press.com/data/r16/auto, clear
- keep make price mpg rep78 weight foreign
- save myauto
-
- use make rep78 foreign using myauto
-
- use if foreign == 0 using myauto
-
- use using myauto if foreign==1
-
- describe myauto
-
- outsheet using ccc.xls
生成变量;替换变量;列出变量(list);重命名变量;总结变量;保留变量(keep);删除变量(drop);添加标签;复制观测值;排序变量
- generate int age2 = age^2 if age > 30
- generate lastname = word(name,2) 以name变量的第二个字生成变量
-
- replace odd = 5 in 3 odd变量的第三个值替换为5
-
- rename exp experience
- sum,d
-
- label data "fictional blood pressure data"
- label variable hbp "high blood pressure"
- label list yesno 列出变量yesno的标签
-
- expand 2 if transplant 如果虚拟变量transplant==1就复制观测值在下方
-
- sort mpg weight 优先mpg升序排列,然后weight升序排列
- gsort id -time 先以id升序排列,再以time降序排列
回归
- regress y x1 x2 x3 regress后的第一个变量为被解释变量
- qui reg y x1 x2 x3 回归但不显示结果
由于异方差得到的是无偏一致正态收敛的估计量(但不是BLUE),问题并不像下面的内生性那么严重,而且只要使用ROBUST ERROR就可以进行各种检验。
- regress y x1 x2 x3 , robust (regression with robust standard errors)
- regress y x1 x2 x3 [aweight=w] (WLS, 以变量w为权重)
其实要估计权重w非常的复杂,我们可以使用wls0来回归,但是需要先安装该命令:
net install wls0.pkg
内生性基本上是所有实证文章必须考虑的问题,也是最难的问题之一。
秀出你的工具变量吧
对于双重差分法其实我们可以很简单用两行代码做到,不需要安装DIFF命令。我们用上面的例子来改写:
- gen gd = t*treated //定义交叉相gd
- reg fte gd treated t, r
它的记过和diff完全一样,只是diff里面自己生成了交叉项,不需要我们去gen啦。
任何程序语言都离不开循环语句
- foreach file in this.dta that.dta theother.dta {
- append using "`file'"
- }
-
- foreach name in "Annette Fett" "Ashley Poole" "Marsha Martinez" {
- display length("`name'") " characters long -- `name'"
- }
-
- foreach x in 1/1000 {
- ...
- }
-
- foreach num of numlist 1 4/8 13(2)21 103 {
- display `num'
- }
- foreach j of numlist 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 {
- sum csp if treatedhh==1 & aci==`j'
- }
- use traffic.dta
- encode state, gen(st) 把state字符变量变为整型数字变量
-
- xtset state year 这是一个面板数据 state是面板个体变量 year是时间变量
-
- xtdes 查看是不是平衡
- xtsum 总结面板数据
- xtline spircons unrate, overlay 画图酒精消费和失业率 重叠在一起比较
-
- * 使用混合回归,聚类稳健标准误
- reg fatal beertax spircons unrate perinck ,vce (cluster state)
- estimates store OLS
-
- * 固定效应回归
- xtreg fatal beertax spircons unrate perinck ,fe r
- estimates store FE_robust
-
- * 以上结果已基本确认了个体效应的存在,但个体效应仍可能以随机效应(RE)的形式存在。
- * 随机效应的Stata命令为
- xtreg fatal beertax spircons unrate perinck,re r theta
- estimates store RE
- probit y x1 x2x3 ,r probit模型
- logit y x1 x2 x3 ,or vce(cluster clustvar) logit模型
-
-
- margins ,dydx(*) (计算所有解释变量的平均边际效应)
- margins ,dydx(*) atmeans (计算所有解释变量的平均边际效应)
- margins ,dydx( * )at(x1 =0) (计算所有解释变量的平均边际效应)
- margins ,dydx(x1) (计算所有解释变量的平均边际效应)
- margins,eyex(*) (计算平均弹性,其中两个“e”均指elasticity)
- margins ,eydx( *) (计算平均半弹性,x变化1单位引起y变化百分之几)
- margins ,dyex( *) (计算平均半弹性,x变化1%引起y变化几个单位)
-
-
有时,离散数据有着天然的排序。比如,公司债券的评级(AAA,AA,A,B,C级),对“春节联欢晚会”的满意度(很满意、满意、不满意、很不满意)。又比如, Li and Zhou(2005)研究经济增长绩效对地方官员仕途的影响,以0表示“卸任”,1表示“留任或平级调动”,2表示“提拔”。这种数据被称为“排序数据"( ordered data)。
- 排序模型的Stata命令为
-
- oprobit y x1 x2.x3 ( ordered probit模型)
- ologit y x1 x2 x3 ( ordered logit模型)
有些被解释变量只能取非负整数,即0,1 ,2,…,比如,专利个数、奥运金牌个数、子女人数、看病次数。对于这一类计数数据,常使用“泊松回归”(Poisson regression)。
- 泊松回归的Stata命令为
-
- poisson y x1 x2x3,r irr
- poisson y x1 x2x3,r expOsure(x1)
- poisson y x1 x2x3,r offset (x1)
-
- /* expOsure (xl)”表示把ln (x1)作为解释变量,并令其系数为1;选择项“offset(x1)”表示把×1作为解
- 其中,选择项“r”表示使用稳健标准误;选择项“irr”表示显示发生率比 */
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。