Stata编程及解释
- 格式:docx
- 大小:53.37 KB
- 文档页数:39
Stata编程及解释 调整变量格式: format x1 %10.3f ——将x1的列宽固定为10,小数点后取三位 format x1 %10.3g ——将x1的列宽固定为10,有效数字取三位 format x1 %10.3e ——将x1的列宽固定为10,采用科学计数法 format x1 %10.3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符 format x1 %10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符 format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入―-‖表示左对齐 合并数据: use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge using "C:\Documents and Settings\xks\桌面\1999.dta" ——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来 use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge id using "C:\Documents and Settings\xks\桌面\1999.dta" ,unique sort ——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对id进行排序(sort) 建议采用第一种方法。 对样本进行随机筛选: sample 50 在观测案例中随机选取50%的样本,其余删除 sample 50,count 在观测案例中随机选取50个样本,其余删除 查看与编辑数据: browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器) edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器) 数据合并(merge)与扩展(append) merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目不变。 one-to-one merge: 数据源自stata tutorial中的exampw1和exampw2 第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1 clear use "t:\statatut\exampw1.dta" su ——summarize的简写 sort v001 v002 v003 save tempw1 第二步:对exampw2做同样的处理 clear use "t:\statatut\exampw2.dta" su sort v001 v002 v003 save tempw2 第三步:使用tempw1数据库,将其与tempw2合并: clear use tempw1 merge v001 v002 v003 using tempw2 第四步:查看合并后的数据状况: ta _merge ——tabulate _merge的简写 su 第五步:清理临时数据库,并删除_merge,以免日后合并新变量时出错 erase tempw1.dta erase tempw2.dta drop _merge 数据扩展append: 数据源自stata tutorial中的fac19和newfac clear use "t:\statatut\fac19.dta" ta region append using "t:\statatut\newfac" ta region 合并后样本量增加,但变量数不变
茎叶图: stem x1,line(2) (做x1的茎叶图,每一个十分位的树茎都被拆分成两段来显示,前半段为0~4,后半段为5~9) stem x1,width(2) (做x1的茎叶图,每一个十分位的树茎都被拆分成五段来显示,每个小树茎的组距为2) stem x1,round(100) (将x1除以100后再做x1的茎叶图) 直方图 采用auto数据库 histogram mpg, discrete frequency normal xlabel(1(1)5) (discrete表示变量不连续,frequency表示显示频数,normal加入正太分布曲线,xlabel设定x轴,1和5为极端值,(1)为单位) histogram price, fraction norm (fraction表示y轴显示小数,除了frequency和fraction这两个选择之外,该命令可替换为―percent‖百分比,和―density‖密度;未加上discrete就表示将price当作连续变量来绘图) histogram price, percent by(foreign) (按照变量―foreign‖的分类,将不同类样本的―price‖绘制出来,两个图分左右排布) histogram mpg, discrete by(foreign, col(1)) (按照变量―foreign‖的分类,将不同类样本的―mpg‖绘制出来,两个图分上下排布) histogram mpg, discrete percent by(foreign, total) norm (按照变量―foreign‖的分类,将不同类样本的―mpg‖绘制出来,同时绘出样本整体的―总‖直方图) 二变量图: graph twoway lfit price weight || scatter price weight (作出price和weight的回归线图——―lfit‖,然后与price和weight的散点图相叠加) twoway scatter price weight,mlabel(make) (做price和weight的散点图,并在每个点上标注―make‖,即厂商的取值) twoway scatter price weight || lfit price weight,by(foreign) (按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈左右分布) twoway scatter price weight || lfit price weight,by(foreign,col(1)) (按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈上下分布) twoway scatter price weight [fweight= displacement],msymbol(oh) (画出price和weight的散点图,―msybol(oh)‖表示每个点均为中空的圆圈,[fweight= displacement]表示每个点的大小与displacement的取值大小成比例) twoway connected y1 time,yaxis(1) || y2 time,yaxis(2) (画出y1和y2这两个变量的时间点线图,并将它们叠加在一个图中,左边―yaxis(1)‖为y1的度量,右边―yaxis(2)‖为y2的) twoway line y1 time,yaxis(1) || y2 time,yaxis(2) (与上图基本相同,就是没有点,只显示曲线) graph twoway scatter var1 var4 || scatter var2 var4 || scatter var3 var4 (做三个点图的叠加) graph twoway line var1 var4 || line var2 var4 || line var3 var4 (做三个线图的叠加) graph twoway connected var1 var4 || connected var2 var4 || connected var3 var4 (叠加三个点线相连图) 更多变量: graph matrix a b c y (画出一个散点图矩阵,显示各变量之间所有可能的两两相互散点图) graph matrix a b c d,half (生成散点图矩阵,只显示下半部分的三角形区域) 用auto数据集: graph matrix price mpg weight length,half by( foreign,total col(1) ) (根据foreign变量的不同类型绘制price等四个变量的散点图矩阵,要求绘出总图,并上下排列】=具) 其他图形: graph box y,over(x) yline(.22) (对应x的每一个取值构建y的箱型图,并在y轴的0.22处划一条水平线) graph bar (mean) y,over(x) 对应x的每一个取值,显示y的平均数的条形图。括号中的―mean‖也可换成median、sum、sd、p25、p75等 graph bar a1 a2,over(b) stack (对应在b的每一个取值,显示a1和a2的条形图,a1和a2是叠放成一根条形柱。若不写入―stack‖,则a1和a2显示为两个并排的条形柱) graph dot (median)y,over(x) (画点图,沿着水平刻度,在x的每一个取值水平所对应的y的中位数上打点) qnorm x (画出一幅分位-正态标绘图) rchart a1 a2 a2 (画出质量控制R图,显示a1到a3的取值范围)
简单统计量的计算: ameans x (计算变量x的算术平均值、几何平均值和简单调和平均值,均显示样本量和置信区间) mean var1 [pweight = var2] (求取分组数据的平均值和标准误,var1为各组的赋值,var2为每组的频数) summarize y x1 x2,detail (可以获得各个变量的百分比数、最大最小值、样本量、平均数、标准差、方差、峰度、偏度) ***注意*** stata中summarize所计算出来的峰度skewness和偏度kurtosis有问题,与ECELL和SPSS有较大差异,建议不采用stata的结果。 summarize var1 [aweight = var2], detail (求取分组数据的统计量,var1为各组的赋值,var2为每组的频数) tabstat X1,stats(mean n q max min sd var cv) (计算变量X1的算术平均值、样本量、四分位线、最大最小值、标准差、方差和变异系数) 概率分布的计算: (1)贝努利概率分布测试: webuse quick bitest quick==0.3,detail (假设每次得到成功案例‗1‘的概率等于0.3,计算在变量quick所显示的二项分布情况下,各种累计概率和单个概率是多少) bitesti 10,3,0.5,detail (计算当每次成功的概率为0.5时,十次抽样中抽到三次成功案例的概率:低于或高于三次成功的累计概率和恰好三次成功概率) (2)泊松分布概率: display poisson(7,6) .44971106 (计算均值为7,成功案例小于等于6个的泊松概率) display poissonp(7,6) .14900278 (计算均值为7,成功案例恰好等于6个的泊松概率) display poissontail(7,6) .69929172 (计算均值为7,成功案例大于等于6个的泊松概率)