本篇为自己总结的基本Stata使用手册~今天更新的是第一部分:基本操作。
1 基本操作
1.1 Stata基本操作
- 关闭一个数据集以使用另外一个
.clear
- 审视数据
.describe
- 查看具体数据
.list s lnw
.list s lnw 5/10 %只显示 lnw其中 5到 10的数据)
.list s lnw if s > 16 %显示满足条件的数据
.set more off %连续滚动屏幕显示命令运行结果
.set more on %分页显示命令运行结果
.drop if s >= 16 %删除满足条件的数据
.keep if s >= 16 %保留满足条件的数据
- 升序排列
.sort s
.list
- 降序排列
.gsort -s
.list
- 生成新的变量
.generate lns=log(s)
.gen s2=s^2 %生成二次项
.gen exprs=s*expr %生成交互项
.gen w=exp(lnw) %生成对数项
.gen colleg=(s>=16) %生成虚拟变量
.rename colleg college %变量重新命名
.replace clooege=(s>15) %更改变量设置
.drop s* %去除所有 s*的变量
1.2 基本可视化指令
- 基本画图指令
.histogram s,width(1) frequency %直方图,frequency显示频率,默认显示频数
.scatter s lnw %画散点图
.tsline y,label(1980(10)2000) %画时间趋势图
.line lny lny1 lyear,lp(solid dash)
- 加标签的散点图
.gen n=_n %用于生成序号
.scatter lnw s,mlabel(n)
- 将两个图画在一起
.twoway kdensity lnw || kdensity lnw if s==16,lpattern(dash)
.twoway kdensity wage,xaixs(1) yaxis(1) xvarlab(wage)||kdensity lnw,xaxis(2)
yaxis(2) xvarlab(ln(wage)) lp(dash) %两个图有不同的轴
.twoway connect consumption time,msymbol(circle) yaxis(1)|| connect temp
time,msymbol(triangle) yaxis(2) %选择线形连接各点
- 画趋势线
.twoway scatter lnw s || lfit lnw s
.normalden(x)
为标准正态的密度函数,normal(x)
为标准正态的累积分布函数.chi2den(k,x)
表示自由度为 k k k的卡方分布概率密度函数,chi2(k,x)
表示自由度为 k k k的卡方分布累积分布函数。.tden(k,t)
为自由度为 k k k 的 t t t 分布的概率密度函数。 t ( k , t ) t(k,t) t(k,t) 表示自由度为 k k k 的 t t t 分布累积分布函数。.Tden(kl,k2,x)
表示自由度为 ( k 1 , k 2 ) (k_1,k_2) (k1,k2)的 F F F分布的概率密度函数。 F ( k 1 , k 2 , x ) F(k_1,k_2,x) F(k1,k2,x)表示自由度为 ( k 1 , k 2 ) (k_1,k_2) (k1,k2)的 F F F分布的累积分布函数。
1.3 统计特征分析
- 查看统计特征
.summerize s %返回Obs,Mean,Std.Dev.,Min,Max
.sum %显示所有变量的统计指标
.tabulate s %显示变量的经验累积分布函数
.pwcorr lnw s expr, sig ster(.05) %显示相关系数并将显著的标星
- 计算表达式
.display expression
- 概率密度函数的连续估计
.kdensity lnw,normal normop(lpattern(dash))
- 标准化
.gen sd=(s-r(mean))/r(sd)
1.4 命令运行结果运用
- 返回回归结果
.return list %返回r(N) r(sum_N) r(mean) r(Var) r(sd) r(min) r(max) r(sum)
.ereturn list %返回 e变量
- 产生随机数的方法
.set seed 10101
.set obs 30
.gen x=runiform()
.gen x=rnormal() %~N(0,1)
.gen x=rnormal(m,s) %~N(m,s^2)
.gen x=rt(m) %~t(m)
.gen x=rchi2(m) %~chi^2(m)
- 随机游走
program randwalk,rclass
drop _all
set obs 1000
gen eps=rnormal()
gen y=sum(eps)
gen t=_n
tsset t
reg y L.y
return scalar b1=_b[L.y]
end
simulate beta=r(b1),seed(10101) reps(1000):randwalk
kdensity beta