STATA COMMAND
――根据劳伦斯·汉密尔顿《应用STATA做统计分析》前六章总结
第一章:Stata软件与Stata的资源
第二章:数据管理
第三章:制图
第四章:概要统计及交互表
第五章:方差分析和其他比较方法
第六章:线性回归分析
第一章stata软件与stata的资源
【命令范式】
use () 使用文件
log using () 打开一个用于输出日志的“log”文件
summarize()显示变量的概要统计指示的计算结果
describe() 数据简要描述
help帮助
第二章数据管理
【命令范式】
append using olddata 读取数据集olddata.dta,然后将其所有观测值加到当前内存中
save newdata,replace将这一合并数据存为新文件
browse打开表格化的数据浏览器来查看数据
browse boats men if year>1980
compress自动将所有变量转换为最有效率的存储类型
save filename,replace 将其永久化
drawnorm z1 z2 ,n(500) 创建人工数据集,包含从独立的标准正态分布中抽取的500个观测案例和2个随机变量z1,z2
dropmiss 自动删除内存数据中任何在每个观测案例上包含缺失值的变量
dropmiss,obs 将从内存中删除在每个变量上包含缺失值的任何观测案例
edit 打开表格化数据编辑器
encode price ,gen(numvar) 基于字符型(非数量型)变量price,新建一个有标签的数量型变量,名为numvar
edit z1 z2 打开数据编辑器时,只显示z1,z2两个变量,且按该顺序
format price %8.2f为数值型变量price建立一种固定化(f)的显示格式,8列宽,小数点后显示两位数
genarate newvar=(x+y)/100建立新变量
infile x y z using data.raw 读入一个名为data.raw的ASCII,其中包括3个变量x,y,z
list x y z in 5/10按当前顺序列举第5-10的观测案例
merge id using olddata 读入以前所存的数据集olddata.dta,并将其中的观测与内存中的具有同样id的观测案例加以匹配
mvdecode var3-var10,mv(97=.\98=.a\99=.b)针对变量var3-var10,将数值为97,98,99的重新编码为缺失值
replace oldvar=10*oldvar 将oldvar的原值扩大100倍后再取值
sample 10将观测案例只随机选取10%样本留下
sample 10,count随机留取10个随机样本
save newfile 存为新数据文件newfile.dta
save newfile,replace存为新数据文件并覆盖原文件
save,replace直接覆盖原文件
set memory 2g,permanently 为stata数据分配2g内存
sort x 将数据从小到大处理,缺失值被作为最大的数处理
tabulate x if y >90 只对y>90的观测案例输出x的频数表
use oldfile,clear不保存当前数据,直接打开其他数据
rename var2 pop 将var2重命名为pop
label variable pop "population"为变量pop建立相应标签
correlate x y z 为x,y,z进行简单相关性处理
order x y z 对变量进行排序
list in 1/10 列出第1至第10条观测案例-4表示倒数第4个字母l表示最后一个观测值
例:summarize if place!="Canada"
list if var1>a | (var2<b & var3<=c)
list var1<. 排除缺失值
符号“==”、“!=”用于字符型数值
missing(var1,var2)==0代表非缺失值
drop var1 放弃变量var1
drop in 6 放弃第6个观测值
drop in 10/13 放弃10至13四个观测值
keep price 仅保留变量price
例:drop if place =="Canada" | pop<100
replace age =2008-born if age >=. | age<=2008-born
tab var1 为变量var1列表
nolabel 可作后缀,要求不含取值标签
【使用函数】
abs(x) 绝对值
acos(x) 反余弦函数
exp(x) 指数函数
ln(x) 自然对数
log2(x) 以2为底的对数
round(x) 四舍五入
round(x,y) 按y的单位对x四舍五入
sign(x) 符号函数:当x<0时为-1,当x=0时为0,当x>0时为+1
sqrt(x) 平方根函数
sum(x) 返回x的移动合计,将缺失值作为0对待
help density function 概率函数清单及定义、参数等细节。
help string functions 查看字符串变量的完整清单
display 执行计算并输出结果(display 2+9)
egen表示是对generate命令的扩展
egen var1=std(x)建立新变量var1是为x的标准差
egen var2=rowmean(x,y,z,w)建立新变量var2是为x,y,z,w四个变量上的忽略任何缺失值的行平均值
egen var3=rowtotal(x,y,z)建立新变量var3是为x,y,z四个变量合计,并将缺失值视为零egen var4=rank(x) 建立新变量var4,保持着与x取值相一致的排序。即为x进行了排序,最大值为1
encode var1,gen(var2) 根据字符型变量var1创建数值型变量var2
decode var1,gen(var2)根据数值型变量var1创建字符型变量var2
数值型变量在执行带有“nolabel”的命令时,会被当作数值0,1或1,2,3.……处理。weight的所有形式
为了将字符型转换成相对应的数字,可以使用real函数:generate var1=real(var2),var2属于数值型变量
tabulate 制表
tabulate type, generate(type) 为type自动创建了虚拟变量
list type type1-type3可查看
generate caseID=_n创建新变量,使其值等于前面已经排序过的每一条观测案例的序号display var[6]显示变量var的第六条观测案例
generate difprice=price-price[_n-1]定义新变量,使其等于自前一天来的价格变化
如何导入其他程序的数据:使用专门的软件,Stat/Transfer
xpose,clear varname对原数据进行转置,varname可在转置后的数据中创建一个附加的变量,用以包含作为字符串的原始变量名
Stata接受四种加权类型:
aweight分析权数,用在加权最小二乘回归以及类似的估计程序中
fweight 频数权数,用以对重复观测案例计数,频数权数必须是整数
iweight重要性权数,但是“重要性”由用户自己界定
pweight 概率或抽样权数,与一个观测案例根据抽样策略被选中的概率的倒数成比例
set more off要求持续翻屏直到结束
第三章制图
【命令范式】:
histogram y, frequency 画出变量y的直方图,频数显示在纵轴上
histogram y, start(0) width(10) norm fraction x轴以0处为起点,画出变量y的直方图,条宽度为10。根据样本平均数和标准差添加正态曲线,并在纵轴上显示出小数形式的数据频率。histogram y, by(x,total) percent 在一幅图中,对x每个取值画出y的各个直方图,同时画出样本总体的总直方图。
graph twoway scatter y x 显示y对x的基本双变量散点图
graph twoway lfit y x || scatter y x 通过叠并两两幅twoway 图形将y对x的线性回归加以图形化:即回归线图和y对x的菜点图
graph twoway scatter y x, xlabel(0(10)100) ylabel(-3(1)6, horizontal)建构y对x的散点图,并在x轴的0,
1,2,…,100处添加标签,在y轴的-3,-2,…,6处添加标签,标签为水平放置而不是默认的垂直放置。
graph twoway scatter y x, mlabel(country) 构建y对x的散点图,并且数据点标注变量country 的相应取值。
graph twoway scatter y x1,by(x2)在一幅图中,对x2的每一取值画出y对x1的散点图graph twoway scatter y x1 [fweight = population], msymbol(oh) 画出y对x1的散点图。标记符号为中空的圆圈,其大小与频数权数变量population成比例
graph twoway connected y time y对time的基本时间标绘图。显示的数据点由线段连接起来。
要想显示线段而不出现数据点标志(marker),就用line来代替connected。
graph twoway line y1 y2 time 画出具有相同量度的两个y变量对名为time的x变量的时间标绘图。
graph twoway line y1 time, yaxis(1) || line y2 time, yaxis(2) 画出具有不同量度的两个变量的时间曲线,并将它们叠并在同一曲线标绘图内。yaxis(1) 指定左边的y轴按y1设置量度,而yaxis(2)指定右边的y轴按y2设置量度
graph matrix x1 x2 x3 x4 y 建构一个散点图矩阵,显示列出变量之间所有可能的散点图对。graph box y1 y2 y3 构建y1,y2,y3的箱线图
graph box y, over (x) yline(23) 对x的每一取值建构y的箱线图,并在y=23处画一条水平线graph pie a b c画一个饼图,其中的每块表明了变量a,b,c的相对量。这些变量必须具有相同的单位。
graph bar (sum) a b c 以条形图中并排的条显示变量a,b,c各自的合计。要想得到平均数而不是合计,则使用graph bar (mean) a b c
graph bar (mean) a, over(x) 画出在变量x每一取值处变量a的平均数的条形图
graph bar (asis) a b c, over(x) stack 画出变量a,b,c的条形图,图中变量a,b,c的值在变量x 的每一取值处层叠起来。
graph dot (median) y,over(x)画一个点图,沿着水平刻度在x的每一取值水平所对应的y的中位数处打点。
qnorm y 画出一幅分位-正态标绘图(正态概率图),显示y的分位数与对应的正态分布的分位数。
rchart x1 x2 x3 x4, connect(1) 建构一幅质量控制的R图,图中画出了变量x1…x4的取值范围。
【直方图】:
histogram college, frequency title(“figure1”) xlabel(12(2)18) ylabel(0(2)12) ytick(1(2)14) start(12) width(2) addlabel norm gap(15) bin(#) by(region, total)
注释:xlabel/ylabel 表示x、y轴上标注的数值
ytick 表示y轴的标注的点
start 表示起始值
width 表示条宽
gap 条间隙
addlabels 要求标注直方条的高度
norm 基于样本平均数和标准差,在直方图上添加一条正态曲线。
bin(#) 设定所要画的直方条的条数
discrete 设定离散数据,要求x的每个取值对应着一个直方条
percent 在纵轴上显示百分比
kdensity 在直方图上添加内核密度的估计值。
by(region, total ) 可以得到分别对应region每个取值的直方图。
【散点图】:
graph twoway scatter y x 画出y-纵轴,x-横轴的散点图
graph twoway scatter waste metro if region==1 [fweight=population], msymbol(oh) mcolor(purlple) mlabel(state) ylabel(,format(%3.0f))
fweight 表示为population添加权重,通过点的大小表现出来

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。