最近在用stata处理数据,learning by doing,现将用过的命令整理如下,方便以后参阅:

查看统计特征

查看变量s的统计特征:
summarize s

如要显示变量s的经验累积分布函数(empirical cumulative distribution function):
tabulate s

分组对多变量进行描述性统计分析
tabstat X1 X2 X3 , statistics(mean sd) by(A)

显示变量a,b和c的相关系数
pwcorr a b c,sig star(.05)
“sig”表示显示相关系数的显著性水平(即p值,列在相关系数的下方)
“star(.05)”表示给所有显著性水平小于或等于5%的相关系数打上星号。

生成、更改变量

重命名变量s为w:
rename s w

对变量s重新赋值
replace s = ……

生成新变量s:
gen s = ……

用条件判断语句生成双分类虚拟变量
gen d = (length>200)
当length>200取值为1,否则取值为0

基于变量make对每个取值生成一个虚拟变量
tab make,gen(m)
生成的虚拟变量为:m1,m2…

将变量s的取值从a到b均分成n个区间,离散化处理
generate sd = autocode(s,n,a,b)

绘图

为变量s绘制核密度图
kdensity s

多个变量的核密度图绘在同一张图上:
twoway (kdensity x1) (kdensity x2) (kdensity x3) (kdensity x4)……

同一变量不同取值的核密度图绘在同一张图上:
twoway (kdensity x if x == x1) (kdensity x if x==x2) …
注释中的线条按照命令顺序从左到右排列

分类直方图 将变量x按照s的不同取值分类画在直方图里:
ssc install byhist,replace
byhist x [if……] , by(s) [width(#)]

假设检验

非连续性变量差异显著性x1为要检验的变量,x2为用来分类的变量
prtest x1 [if()],by (x2)

两个正态总体的方差检验

两个正态总体的均值检验

回归

简单OLS y作为自变量x1,x2…作为因变量:
regress y x1 x2 x3…

Logistic 回归 y作为自变量x1,x2…作为因变量:
logistic y x1 x2 x3…

两阶段最小二乘法 y为被解释变量,x1,x2为外生解释变量,x3为内生解释变量, z1,z2为方程外的工具变量:
ivregress 2sls y x1 x2 (x3 = z1 z2),robust first
选择项“robust”表示使用异方差稳健的标准误(默认为普通标准误);选择项“first”表示显示第一阶段的回归结果。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐