首页 stata常用命令

stata常用命令

举报
开通vip

stata常用命令stata常用命令 stata save命令 FileSave As 例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序 SORT 变量名1 变量名2 …… 变量更名 rename 原变量名 新变量名 STATA数据库的维护 删除变量或记录 drop x1 x2 /* 删除变量x1和x2 drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5) drop if x0 /* 产...

stata常用命令
stata常用命令 stata save命令 FileSave As 例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序 SORT 变量名1 变量名2 …… 变量更名 rename 原变量名 新变量名 STATA数据库的维护 删除变量或记录 drop x1 x2 /* 删除变量x1和x2 drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5) drop if x<0 /* 删去x1<0的所有记录 drop in 10/12 /* 删去第10~12个记录 drop if x==. /* 删去x为缺失值的所有记录 drop if x==.|y==. /* 删去x或y之一为缺失值的所有记录 drop if x==.&y==. /* 删去x和y同时为缺失值的所有记录 drop _all /* 删掉数据库中所有变量和数据 STATA的变量赋值 用generate产生新变量 generate 新变量,表达式 generate bh=_n /* 将数据库的内部编号赋给变量bh。 generate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5 个 3……。直到数据库结束。 generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0。 generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当 x<=0时,用缺失值代替。 egen产生新变量 set obs 12 egen a=seq() /*产生1到N的自然数 egen b=seq(),b(3) /*产生一个序列,每个元素重复,次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到, egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到,2 encode 字符变量名,gen(新数值变量名) 作用:将字符型变量转化为数值变量。 STATA数据库的维护 保留变量或记录 keep in 10/20 /* 保留第10,20个记录,其余记录删除 keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除 keep if x>0 /* 保留x>0的所有记录,其余记录删除 STATA数据库的维护 替换已存在的变量值 replace 变量,表达式 replace bolck=6 if block==0 /* 将block,0的数全部替换为6。 replace z=. if z<0 /* 将所有小于0的z值用缺失值代替。 replace age = 25 in 17 /* 将第17条记录中的变量age替换为25。 for var x* : replace X=0 if X==. /* 将所有第一个字母为x的变量替换为0,如果该变量的值为缺失值 纵向连接数据库 Ex3-3.dta: x0 x1 1. 3550 2450 2. 2000 2400 3. 3000 1800 4. 3950 3200 5. 3800 3250 use "E:\教学\上机\ex3-2.dta", clear l x0 x1 g 1. 2450 1450 2 2. 2100 2400 2 3. 2300 3800 2 4. 1590 4200 2 append using E:\教学\上机\ex3-3.dta l x0 x1 g 1. 2450 1450 2 2. 2100 2400 2 3. 2300 3800 2 4. 1590 4200 2 5. 3550 2450 . 6. 2000 2400 . 7. 3000 1800 . 8. 3950 3200 . 9. 3800 3250 . 横向联接数据库 Ex3-5.dta: bh y0 y1 x0 1. 1 35 79.2 2 2. 3 45 47.4 8 3. 4 52 34.6 6 4. 6 66 28.0 9 命令 . drop _all . use E:\教学\MPH上机\ex3-5.dta . sort bh . save "E:\教学\MPH上机\ex3-5.dta",replace file E:\教学\MPH上机\ex3-5.dta saved . use E:\教学\MPH上机\ex3-4.dta . sort bh . merge bh using E:\教学\MPH上机\ex3-5.dta 结果 bh x0 x1 y0 y1 _merge 1. 1 12 24 35 79.2 3 2. 2 15 26 . . 1 3. 3 16 49 45 47.4 3 4. 4 18 57 52 34.6 3 5. 5 20 68 . . 1 6. 6 9 . 66 28 2 列数据接龙 Stack 变量名,into(新变量名)|group(#) [clear wide] 示例 统计描述及区间估计 定量资料的一般描述 均数、标准差、百分位数、中位数 summarize [变量名] [, detail ] 统计描述及区间估计 百分位数 centile [变量名] [, centile(# [# ...]) cci normal meansd level(#) ] 统计描述及区间估计 定性资料的一般描述 按照分类变量给出频数和构成比 tabulate 变量名 例2. 有三组(group)患者,男女(sex)若干人,sex=1表示男性,sex=0表示女性。测得其 血红蛋白浓度(x1,%)和红细胞计数(x2,万/mm3),资料存入c:\mydata\ex2.dta。试对其进行 描述。 见ex5-2 . use c:\mydata\ex2 . tab group . tab sex . tab group, sum(x1) . tab group, sum(x2) 统计描述及区间估计 可信区间的估计 ci 变量 [, level(#) binomial poisson exposure(观察数变量) by(分组变量) total ] cii 观察数 均数 标准差 [, level(#) ] level(#) /* 指定可信度,缺失时为95(%) by(分组变量) /* 指定按分组变量分别估计均数的可信区间 total /* 指定除按分组变量估计可信区间外,还对整个数据估计,仅用于指定了 by(分组变量)时 . use c:\mydata\ex2 . sort group /* 在用by(分组变量)前,必须对分组变量排序 . ci x1 x2, by(group) STATA的作图 作图命令GRAPH graph [变量名] [, 图形类型 通用选择项 特殊选择项] 图形类型 histogram /* 直方图,为缺省值。 oneway /* 一维散点图 twoway /* 二维散点图、线图 matrix /* 二维散点图阵 bar /* 条图、百分条图 pie /* 圆(饼)图 box /* 箱式图 star /* 星形图 STATA的作图 作图命令GRAPH 常用选项 bin(#) /* 将数据分几组,缺省为5。 freq /* 指定纵轴用频数表示,否则为频率。 normal /* 给直方图加上相应正态曲线。 xlab/ylab/[(#,……,#)] /*指定坐标轴的界点。 b2/l2[(“字符串”)] /*指定坐标轴的副标题。 STATA的作图 如何利用STATA绘制频数分布图, 例 130名14岁女孩身高资料。 gra x,bin(10) freq normal xlab(124,128,132,136,140,144,148,152,156,160,164) ylab(5,10,15,20,25,30,35,40) 数值变量资料的描述 均数、几何均数、中位数、百分位数 极差、四分位数间距、方差、标准差 变异系数 对称分布 均数?标准差 偏态分布 中位数?四分位数间距 数值变量资料的描述 means [变量名] summarize [变量名] [, detail ] centile [变量名] [, centile(#) ] 其他选项 detail /* 详细描述,缺失时为简单描述 centile(#) /* 指定需要计算的百分位数 某市1997年12岁男童120人的身高(cm)资料如下 sum x sum x,d sum x if x<140 sum x if x<140,d centile x centile x,centile(25,50,75) 例 有五份血清的抗体效价为 1:10, 1:20, 1:40, 1:80, 1:160, 描述其抗体滴度的平均水平。 means x STATA的作图 作图命令graph 简写gra gra [变量名] [, 图形类型 通用选择项 特殊选择项] 图形类型 histogram /* 直方图 oneway /* 一维散点图 twoway /* 二维散点图、线图 matrix /* 二维散点图阵 bar /* 条图、百分条图 pie /* 圆(饼)图 box /* 箱式图 star /* 星形图 直方图 数值变量资料的统计 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 样本 保单样本pdf木马病毒样本下载上虞风机样本下载直线导轨样本下载电脑病毒样本下载 均数与总体均数比较的t检验 配对 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 t检验 成组设计t 检验 方差齐性检验 样本均数与总体均数比较的t检验 ttest 变量名= #val ttesti #obs #mean #sd #val 例 问题: 统计量与参数不同的两种可能 其一:抽样误差 (偶然的、随机的、较小的) 其二:本质上的差别 (必然的、大于随机误差) 例 样本:某医生随机抽查10名某病患者的血红蛋白,求得其均数为12.59 (g/dl),标准差为 1.632619 (g/dl) 。 问题:该病患者的平均Hb含量是否与正常人的平均Hb含量相同 (正常人的平均Hb含量 为14.02 (g/dl)。 STATA 命令 ttest 变量名= #val ttest x =14.02 STATA 结果 ttest x=14.02 One-sample t test ---------------------------------------------------------------------------- Variable | Obs Mean Std. Err. Std. Dev. [95% Conf. Interval] ---------+------------------------------------------------------------------ x | 10 12.59 .5162794 1.632619 11.42209 13.75791 ---------------------------------------------------------------------------- Degrees of freedom: 9 Ho: mean(x) = 14.02 Ha: mean < 14.02 Ha: mean ~= 14.02 Ha: mean > 14.02 t = -2.7698 t = -2.7698 t = -2.7698 P < t = 0.0109 P > |t| = 0.0218 P > t = 0.9891 STATA 命令 ttesti #obs #mean #sd #val ttesti 10 12.59 1.632619 14.02 配对设计t检验 ttest 变量1=变量2 STATA 命令 ttest x1=x2 STATA 结果 ttest x1=x2 Paired t test ------------------------------------------------------------------- Variable | Obs Mean Std. Err. Std. Dev. [95% Conf. Interval] ---------+--------------------------------------------------------- x1 | 10 12.59 .5162794 1.632619 11.42209 13.75791 x2 | 10 13.27 .3415813 1.080175 12.49729 14.04271 ---------+--------------------------------------------------------- diff | 10 -.6799999.5204272 1.645735 -1.857288 .4972881 ------------------------------------------------------------------- Ho: mean(x1 - x2) = mean(diff) = 0 Ha: mean(diff) < 0 Ha: mean(diff) ~= 0 Ha: mean(diff) > 0 t = -1.3066 t = -1.3066 t = -1.3066 P < t = 0.1119 P > |t| = 0.2237 P > t = 0.8881 成组设计 t 检验 ttest 变量1=变量2, unpaired [unequal] ttest 变量,by(分组变量)[unequal] ttesti #obs1 #mean1 #sd1 #obs2 #mean2 #sd2 [,unequal] unpaired 表示非配对的,如不选就作配对,检验 unequal 表示假设两组方差不齐,如不选表示假设两组方差达到齐性 例(成组设计) 分别测得14例老年人煤饼病人及11例正常人的尿中17 酮类固醇排出量(mg/dl)如下,试 比较两组的均数有无差别 STATA 命令 ttest x1=x2, unpaired ttest x, by(g) STATA 结果 ttest x1=x2,unp Two-sample t test with equal variances ---------------------------------------------------------------------------- Variable | Obs Mean Std. Err. Std. Dev. [95% Conf. Interval] ---------+------------------------------------------------------------------ x1 | 14 4.377857 .3875 1.449892 3.540714 5.215 x2 | 11 5.528182 .5232431 1.735401 4.362324 6.69404 ---------+------------------------------------------------------------------ combined | 25 4.884 .3306453 1.653227 4.201582 5.566418 ---------+------------------------------------------------------------------ diff | -1.150325 .636752 -2.467547 .1668972 ---------------------------------------------------------------------------- Degrees of freedom: 23 Ho: mean(x1) - mean(x2) = diff = 0 Ha: diff < 0 Ha: diff ~= 0 Ha: diff > 0 t = -1.8066 t = -1.8066 t = -1.8066 P < t = 0.0420 P > |t| = 0.0839 P > t = 0.9580 两组资料间的方差齐性检验 sdtest 变量名1 = 变量名2 sdtest 变量,by(分组变量) sdtesti #obs1 #mean1 #sd1 #obs2 #mean2 #sd2 单因素方差分析及方差齐性检验 oneway 因变量 分组变量,[选择项] noanova /* 不打印方差分析表 missing /* 将缺省值作为单独的一组 tabulate /* 打印各组的基本统计量表 简写:t scheffe /* Scheffe法 简写:sch 简写:bon Bonferroni /* Bonferroni法 sidak /* Sidak法 简写:si 各组均数两两比较 oneway x group,noanova sch Comparison of var3 by group (Scheffe) Row Mean-| Col Mean | 1 2 ---------+---------------------- 2 | -.425 | 0.426 | 3 | -.91 -.485 | 0.024 0.330 STATA软件及其应用-III 秩和检验和相关与回归分析 秩变换 配对资料的秩和检验; 两组资料的秩和检验; 多组资料的秩和检验; 直线相关分析; 等级相关分析; 直线回归分析; 秩变换 genrank 新变量= 原变量 egen 新变量=rank(原变量) 配对资料的秩和检验 signrank 变量1 = 变量2 [if 变量1!=变量2] 两组资料的秩和检验 ranksum 观察值变量,by(分组变量) 两组资料的秩和检验 两组资料的秩和检验 例3 用复方猪胆胶囊治疗老年性慢性支气管炎患者403例,疗效见第(1)~ (3)栏。问该药 对此两型支气管炎疗效是否相同, 两组资料的秩和检验 expand f ranksum x,by(g) 多组资料的秩和检验 kwallis 观察值变量, by(分组变量) 多组资料的秩和检验 直线相关和回归分析 correlate [变量名] pwcorr [变量名] , [sig star(#) ] regress 因变量 自变量 predict 新变量 , [stdp] [stdf] stdp 计算估计值的标准误 stdf 估计预测值y的标准差 sig 打印相关系数假设检验之 P值 star(#) 如果相关系数的假设检验之P值小于#,则在 相关系数旁打印星号 stata常用命令 2010-10-14 11:38:15 来自: 杨囡囡(all a woman lack is a wife) (转自人大论坛) 调整变量格式: 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个的泊松概率) (3)超几何分布概率: display hypergeometricp(10,3,4,2) .3 (计算在样本总量为10,成功案例为3的样本总体中,不重置地抽取4个样本,其中恰好有2个为成功案例的概率) display hypergeometric(10,3,4,2) .96666667 (计算在样本总量为10,成功案例为3的样本总体中,不重置地抽取4个样本,其中有小于或等于2个为成功案例的概率) 检验极端值的步骤: 常见命令:tabulate、stem、codebook、summarize、list、histogram、graph box、gragh matrix step1.用codebook、summarize、histogram、graph boxs、graph matrix、stem看检验数据的总体情况: codebook y x1 x2 summarize y x1 x2,detail histogram x1,norm(正态直方图) graph box x1(箱图) graph matrix y x1 x2,half(画出各个变量的两两x-y图) stem x1(做x1的茎叶图) 可以看出数据分布状况,尤其是最大、最小值 step2.用tabulate、list细致寻找极端值 tabulate code if x1==极端值(作出x1等于极端值时code的频数分布表,code表示地区、年份 等序列变量,这样便可找出那些地区的数值出现了错误) list code if x1==极端值(直接列出x1等于极端值时code的值,当x1的错误过多时,不建议使 用该命令) list in -20/l(l表示last one,-20表示倒数第20个样本,该命令列出了从倒数第20个到倒数第 一个样本的各变量值) step3.用replace命令替换极端值 replace x1=? if x1==极端值 去除极端值: keep if y<1000 drop if y>1000 对数据排序: sort x gsort +x (对数据按x进行升序排列) gsort -x (对数据按x进行降序排列) gsort -x, generate(id) mfirst (对数据按x进行降序排列,缺失值排最前,生成反映位次的变量id) 对变量进行排序: order y x3 x1 x2 (将变量按照y、x3、x1、x2的顺序排列) 生成新变量: gen logx1=log(x1)(得出x1的对数) gen x1`=exp(logx1)(将logx1反对数化) gen r61_100=1 if rank>=61&rank<=100(若rank在61与100之间,则新变量r61_100的取值 为1,其他为缺失值) replace r61_100 if r61_100!=1(“!=”表示不等于,若r61_100取值不为1,则将r61_100替换 为0,就是将上式中的缺失值替换为0) gen abs(x)(取x的绝对值) gen ceil(x)(取大于或等于x的最小整数) gen trunc(x)(取x的整数部分) gen round(x)(对x进行四舍五入) gen round(x,y)(以y为单位,对x进行四舍五入) gen sqrt(x)(取x的平方根) gen mod(x,y)(取x/y的余数) gen reldif(x,y)(取x与y的相对差异,即|x-y|/(|y|+1)) gen logit(x)(取ln[x/(1-x)]) gen x=autocode(x,n,xmin,xmax)(将x的值域,即xmax-xmin,分为等距的n份) gen x=cond(x1>x2,x1,x2)(若x1>x2成立,则取x1,若x1>x2不成立,则取x2) sort x gen gx=group(n)(将经过排序的变量x分为尽量等规模的n个组) egen zx1=std(x1)(得出x1的标准值,就是用(x1-avgx1)/sdx1) egen zx1=std(x1),m(0) s(1)(得出x1的标准分,标准分的平均值为0,标准差为1) egen sdx1=sd(x1)(得出x1的标准差) egen meanx1=mean(x1)(得出x1的平均值) egen maxx1=max(x1)(最大值) egen minx1=min(x1)(最小值) egen medx1=med(x1)(中数) egen modex1=mode(x1)(众数) egen totalx1=total(x1)(得出x1的总数) egen rowsd=sd(x1 x2 x3)(得出x1、x2和x3联合的标准差) egen rowmean=mean(x1 x2 x3)(得出x1、x2和x3联合的平均值) egen rowmax=max(x1 x2 x3)(联合最大值) egen rowmin=min(x1 x2 x3)(联合最小值) egen rowmed=med(x1 x2 x3)(联合中数) egen rowmode=mode(x1 x2 x3) (联合众数) egen rowtotal=total(x1 x2 x3)(联合总数) egen xrank=rank(x)(在不改变变量x各个值排序的情况下,获得反映x值大小排序的xrank) 数据计算器display命令: display x[12](显示x的第十二个观察值) display chi2(n,x)(自由度为n的累计卡方分布) display chi2tail(n,x)(自由度为n的反向累计卡方分布,chi2tail(n,x)=1-chi2(n,x)) display invchi2(n,p)(卡方分布的逆运算,若chi2(n,x)=p,那么invchi2(n,p)=x) display invchi2tail(n,p)(chi2tail的逆运算) display F(n1,n2,f)(分子、分母自由度分别为n1和n2的累计F分布) display Ftail(n1,n2,f)(分子、分母自由度分别为n1和n2的反向累计F分布) display invF(n1,n2,P)(F分布的逆运算,若F(n1,n2,f)=p,那么invF(n1,n2,p)=f) display invFtail(n1,n2,p)(Ftail的逆运算) display tden(n,t)(自由度为n的t分布) display ttail(n,t)(自由度为n的反向累计t分布) display invttail(n,p)(ttail的逆运算) 给数据库和变量做标记: label data "~~~"(对现用的数据库做标记,"~~~"就是标记,可自行填写) label variable x "~~~"(对变量x做标记) label values x label1(赋予变量x一组标签:label1) label define label1 1 "a1" 2 "a2"(定义标签的具体内容:当x=1时,标记为a1,当x=2时,标记为a2) 频数表: tabulate x1,sort tab1 x1-x7,sort(做x1到x7的频数表,并按照频数以降序显示行) table c1,c(n x1 mean x1 sd x1)(在分类变量c1的不同水平上列出x1的样本量和平均值) 二维交互表: auto数据库: table rep78 foreign, c(n mpg mean mpg sd mpg median mpg) center row col (rep78,foreign均为分类变量,rep78为行变量,foreign为列变量,center表示结果显示在单元格中间,row表示计算行变量整体的统计量,col表示计算列变量整体的统计量) tabulate x1 x2,all (做x1和x2的二维交互表,要求显示独立性检验chi2、似然比卡方独立性检验lrchi2、对定序变量适用的等级相关系数gamma和taub、以及对名义变量适用的V) tabulate x1 x2,column chi2(做x1和x2的二维交互表,要求显示列百分比和行变量和列变量的独立性检验——零假设为变量之间独立无统计关系) tab2 x1-x7,all nofreq(对x1到x7这七个变量两两地做二维交互表,不显示频数:nofreq) 三维交互表: by x3,sort:tabulate x1 x2,nofreq col chi2(同时进行x3的每一个取值内的x1和x2的二维交互表,不显示频数、显示列百分比和独立性检验) 四维交互表: table x1 x2 x3,c(ferq mean x1 mean x2 mean x3) by(x4) tabstat X1 X2,by(X3) stats(mean n q max min sd var cv) col(stats) tabstat X1 X2,by(X3) stats(mean range q sd var cv p5 p95 median),[aw=X4](以X4为权重求X1、X2的均值,标准差、方差等) ttest X1=1 count if X1==0 count if X1>=0 gen X2=1 if X1>=0 corr x1 x2 x3(做x1、x2、x3的相关系数表) swilk x1 x2 x3(用Shapiro-Wilk W test对x1、x2、x3进行正太性分析) sktest x1 x2 x3(对x1、x2、x3进行正太性分析,可以求出峰度和偏度) ttest x1=x2(对x1、x2的均值是否相等进行T检验) ttest x1,by(x2) unequal(按x2的分组方式对x1进行T检验,假设方差不齐性) sdtest x1=x2(方差齐性检验) sdtest x1,by(x2)(按x2的分组方式对x1进行方差齐性检验) 聚类分析: cluster kmeans y x1 x2 x3, k(3) ——依据y、x1、x2、x3,将样本分为n类,聚类的核为随机选取 cluster kmeans y x1 x2 x3, k(3) measure(L1) start(everykth) —— "start"用于确定聚类的核,"everykth"表示将通过构造三组样本获得聚类核:构造方法为将样本id为1、1+3、1+3×2、 1+3×3……分为一组、将样本id为2、2+3、2+3×2、2+3×3……分为第二组,以此类推,将这三组的均值作为聚类的核;"measure"用 于计算相似性和相异性的方法,"L1"表示采用欧式距离的绝对值,也直接可采用欧式距离(L2)和欧式距离的平方(L2squared)。PS:这个方法 所得的结果与SPSS所得结果相同。 sort c1 c2(对c1和c2两个分类变量排序) by c1 c2:reg y x1 x2 x3(在c1、c2的各个水平上分别进行回归) bysort c1 c2:reg y x1 x2 x3 if c3=1(逗号前面相当于将上面两步骤合一,既排序又回归,逗号后面的“if c3=1”表示只有在c3=1的情况下才进行回归) stepwise, pr(.2): reg y x1 x2 x3(使用Backward selection,去除P值大于0.2时变量) stepwise, pe(.2): reg y x1 x2 x3(使用forward selection,去除P值小于0.2时变量) stepwise, pr(.2) pe(.01):reg y x1 x2 x3(使用backward-stepwise selection,取P值在0.01和0.2之间的变量) stepwise, pe(.2) forward: reg y x1 x2 x3(使用forward-stepwise selection) reg y x1 x2 x3 predict Yhat,xb predict u,resid predict ustd,stdr(获得残差的标准误) predict std,stdp(获得y估计值的标准误) predict stdf,stdf(获得y预测值的标准误) predict e,e(1,12)(获得y在1到12之间的估计值) predict p,pr(1,12)(获得y在1到12之间的概率) predict rstu,rstudent(获得student的t值) predict lerg,leverage(获得杠杆值) predict ckd,cooksd(获得cooksd) reg y x1 x2 x3 c1 c2 adjust x1 x2 x3,se(使得变量x1、x2和x3等于其均值,求y的预测值和标准误) adjust x1 x2 x3,stdf ci(使得变量x1、x2和x3等于其均值,求y的预测值,预测标准误和置信区间) adjust x1 x2,by(c1) se ci(控制变量x1、x2,亦即取它们的均值,在分类变量c1的不同水平上求y预测值,标准误和置信区间) adjust x1 x2 x3,by(c1) stdf ci(控制变量x1、x2、x3,亦即取它们的均值,在分类变量c1的不同水平上求y预测值,预测标准误和置信区间) adjust x1 x2,by(c1 c2) se ci(控制变量x1、x2,在分类变量c1、c2的不同水平上求y的预测值,标准误和置信区间) adjust x1 x2 x3,by(c1 c2) stdf ci(控制变量x1、x2、x3,在分类变量c1、c2的不同水平上求y的预测值,预测标准误和置信区间) adjust x1=a x2=b x3=c,se ci(当x1=a、x2=b、x3=c时,求y的预测值、标准误和置信区间) adjust x1=a x2=b x3=c,by(c1) se ci(当x1=a、x2=b、x3=c时,在分类变量c1的不同水平上,求y的预测值、标准误和置信区间) adjust x1=a x2=b c1=1,by(c1) se ci(当x1=a、x2=b,并假设所有的样本均为c1=1,求在分类变量c1的不同水平上,因为变量x3的均值不同,而导致的y的不同的预测值……) mvreg Y1 Y2 ……: X1 X2 X3……(多元回归) mvreg y1 y2 y3: x1 x3 x3(多元回归分析,y1 y2 y3为因变量,x1 x3 x3为自变量) 以下命令只有在进行了mvreg之后才能进行 test [y1](测试对y1的回归系数联合为0) test [y1]: x1 x2(测试对y1的回归中x1、x2的系数为0) test x1 x2 x3(测试在所有的回归中,x1、x2、x3的系数均为0) test [y1=y2](对y1的回归和对y2的回归系数相等) test [y1=y2]: x1 x2 x3, mtest(对y1和y2的回归中,分别测试x1、x2、x3的系数是否相等,若没有mtest这个命令,则测试他们的联和统计) test [y1=y2=y3](三个回归的系数是否相等,可加mtest以分别测试) test [y1=y2=y3]: x1 x2 (测试三个回归中的x1、x2是否相等,可加mtest) est命令的用法: (1)储存回归结果: reg y x1 x2 x3(不限于reg,也可储存ivreg、mvreg、reg3) est store A (2)重现回归结果: est replay A (3)对回归结果进行进一步分析 est for A:sum(对A回归结果中的各个变量运行sum命令) 异方差问题: 获得稳健性标准误 reg y x1 x2 x3 if c1==1(当分类变量c1=1时,进行y和诸x的回归) reg y x1 x2 x3,robust(回归后显示各个自变量的异方差-稳健性标准误) estat vif(回归之后获得VIF) estat hettest,mtest(异方差检验) 异方差检验的套路: (1)Breusch-pagan法: reg y x1 x2 x3 predict u,resid gen usq=u^2 reg usq x1 x2 x3 求F值 display R/(1-R)*n2/n1(n1表示分子除数,n2表示分母除数) display Ftail(……) 求LM值 display R*n(n表示总样本量) display chi2tail(……) (2)white法: reg y x1 x2 x3 predict u,resid gen usq=u^2 predict y gen ysq=y^2 reg usq y ysq 求F值 display R/(1-R)*n2/n1(n1表示分子除数,n2表示分母除数) display Ftail(……) 求LM值 display R*n(n表示总样本量) display chi2tail(……) (3)必要补充 F值和LM值转换为P值的命令: display Ftail(n1,n2,a)(利用F值求p值,n1表示分子除数,n2表示分母除数,a为F值) display chi2tail(n3,b)(利用LM值求p值,n3表示自由度的损失量,一般等于n1,b为LM值) 异方差的纠正——WLS(weighted least square estimator) (1)基本思路: reg y x1 x2 x3 [aw=x1](将x1作为异方差的来源,对方程进行修正) 上式相当于: reg y/(x1^0.5) 1/(x1^0.5) x1/(x1^0.5) x2/(x1^0.5) x3/(x1^0.5),noconstant (2)纠正异方差的常用套路(构造h值) reg y x1 x2 x3 predict u,resid gen usq=u^2 gen logusq=log(usq) reg logusq x1 x2 x3 predict g gen h=exp(g) reg y x1 x2 x3 [aw=1/h] 异方差hausman检验: reg y x1 x2 x3 est store A(将上述回归结果储存到A中) reg y x1 x2 x3 [aw=1/h] est store B hausman A B 当因变量为对数形式时(log(y))如何预测y reg logy x1 x2 x3 predict k gen m=exp(k) reg y m,noconstant m的系数为i y的预测值=i×exp(k) 方差分析: 一元方差分析 anova y g1 / g1|g2 /(g*表示不同分类变量,计算g1和交互项/ g1|g2 /这两种分类的y值是否存 在组内差异) anova y d1 d2 d1*d2(d*表示虚拟变量,计算d1、d2和d1*d2的这三种分类的y值是否有组内 差异) anova y d1 d2 x1 d2*x1, continuous(x1)(x*表示连续的控制变量) 多元方差分析 webuse jaw manova y1 y2 y3 = gender fracture gender*fracture(按性别、是否骨折及二者的交互项对y1、 y2和y3进行方差分析) manova y1 = gender fracture gender*fracture(相当于一元方差分析,以y1为因变量) ———————————— webuse nobetween gen mycons = 1 manova test1 test2 test3 = mycons, noconstant mat c = (1,0,-1 \ 0,1,-1) manovatest mycons, ytransform(c) 进行多元回归的方法: 多元回归分析:(与mvreg相同) foreach vname in y1 y2 y3 { (确定y变量组vname) reg `vname' x1 x2 x3 (将y变量组中的各个变量与诸x变量进行回归分析,注意vname的标点符号) } 上式等价于: mvreg y1 y2 y3 = x1 x2 x3 reg3命令: (1)简单用法: reg3 (y1 = x1 x2 x3) (y2 = x1 x3 x4) (y3 = x1 x2 x5) 测试y1 coefs = 0 test [y1] 测试不同回归中相同变量的系数: test [y1=y2=y3], common test ([y1=y2]) ([y1=y3]), common constant(constant表示包含截距项) (2)用reg3进行2SLS reg3 (y1 = y2 x1 x2) (y2 = y1 x4),2sls (2)用reg3进行OLS reg3 (y1 = y2 x1 x2) (y2 = y1 x4),ols 对两个回归结果进行hausman检验: reg3 (y1=x1 x2 x3)(y2=y1 x4),2sls est store twosls reg3 (y1=x1 x2 x3)(y2=y1 x4),ols est store ols hausman twosls ols,equations(1:1)(对两次回归中的方程1,即“y1=x1 x2 x3”进行hausman检验) hausman twosls ols,equations(2:2)(对两次回归中的方程2,即“y2=y1 x4”进行hausman检验) hausman twosls ols,alleqs(对所有方程一起进行检验) 检验忽略变量(模型的RESET): reg y x1 x2 x3 estat ovtest 滞后变量的制取 对变量y滞后一期: gen y_l1=y[_n-1] 滞后两期: gen y_l2=y[_n-2] 以此类推。 制取样本序号: gen id=_n 获得样本总量: gen id=_N 时间序列回归: 回归元严格外生时AR(1)序列相关的检验 reg y x1 x2 predict u,resid gen u_1=u[_n-1] reg u u_1,noconstant 回归之后,u_1的序数如果不异于零,则该序列不相关 用Durbin-Watson Statistics检验序列相关: tsset year @(对时间序列回归中代表时间的变量进行定义)@ reg y x1 x2 dwstat @(求出时间序列回归的DW值)@ durbina @(对该回归是否具有序列相关进行检验,H0为无序列相关,可根据chi2值求出P值)@ durbina,small @(small可以根据F值求出P值,以代替chi2值)@ durbina,force @(让检验能在robust、neway之后进行)@ durbina,small lag(1/10) @(lag可以求出更高阶滞后的序列相关,如本例中可求出1到10阶的序列相关)@ durbina,robust lag(1/10) @(robust可进行异方差—稳健性回归,避免未知形式的异方差)@ bgodfrey @(利用Breusch-Godfrey test求出高阶序列相关)@ bgodfrey,small lag(1/10) 数据调查:survey data 源数据:dataset文件夹中的svydata 步骤: 1、定义survey data svyset psuid [pweight=finalwgt], strata(stratid) ——定义primary sampling unit为psuid。可能是测试的编号,1or2 ——定义pweight为finalwgt ——定义stratum identifer为stratid。可能是测试中被试的编号,1to31 2、生成male gen male= (sex==1) if !missing(sex) ——当sex不缺失且等于1时,male=sex 3、生成行变量为highbp,列变量为sizplace的表格 svy, subpop(male): tabulate highbp sizplace, col obs pearson lr null wald ——subpop规定了以male为数据调查的范围 ——tabulate highbp sizplace表示绘制行变量为highbp,列变量为sizplace的表格 ——col表示每一列的加总为100%,row表示每一行的加总为100%,cell表示横纵所有单元格的加总为100% ——obs表示列出每个单元格的样本量,se表示列出每个单元格的标准误,ci表示列出每个单元格的置信区间 ——pearson表示求取pearson's chi-squired,皮尔逊的卡方检定 ——lr表示求取likelihood ratio ——null表示求取null-based statistics ——wald表示求取adjusted wald,llwald表示求取adjusted log-linear Wald,noadjust表示求取unadjusted Wald statistics 4、svy:mean x1 x2 x3 ——对x1、x2、x3求取mean、se和ci 5、简单的tabulate twoway(不用svyset就可执行) tab2 y x,col chi2 exact lr ——col、cell、row等均可换用,chi2指的是Pearson's chi-squared、exact指的是fisher exact test、lr指的是likelihood-ratio chi-squared 6、svy的其他用法: svy:reg y x 建立人工数据集: 创建一个包含从独立标准正态分布中抽取的2000个观察案例和三个随机Z1、Z2、Z3,并分别定义他们的平均值和标准差。 matrix m=(0,2,3) ——定义三个变量的平均值 matrix sd=(1,.5,2) ——定义三个变量的标准差 drawnorm z1 z2 z3,n(2000) means(m) sds(sd) ——创建样本量为2000,均值和标准差符合上面定义的数据集 补充:除了定义均值和标准差之外,还可定义相关矩阵和协方差矩阵等。 logit回归 logit y x1 x2 x3 ——y必须为二分变量 glogit outcomedata populationdata x1 x2 x3 ——outcomedata为目标样本总量,populationdata为观测样本总量, outcomedata/populationdata的值便是一个概率,相当于logit命令中的y 面板数据(Panel Data) 1、基本套路: xtreg y x1 x2,re est store re xtreg y x1 x2,fe est store fe hausman re fe ——如果hausman检验的结果为显著,则采用固定效应(fe)模型,不显著,则选取随机效应(re)模型 2、随机效应的检验: xtreg y x1 x2,re xttest0 xttest1 ——xttest1是xttest0的扩展,若这xttest0的结果为显著,则采用随机效应(re)模型 xttest1的假设是没有随机效应和/或没有序列相关,它的七个结果分别表示: 1) LM Test for random effects, assuming no serial correlation (假设没有序列相关情况下对随机效应进行LM检验) 2) Adjusted LM test for random effects, which works even under serial correlation (假设有序列相关的情况下对随机LM检验) 3) One sided version of the LM test for random effects (假设没有序列相关的情况下对随机效应进行单边检验) 4) One sided version of the adjusted LM test for random effects (假设有序列相关的情况下对随机效应进行单边检验) 5) LM test for first-order serial correlation, assuming no random effects (假设没有随机效应的情况下对一阶序列相关进行检验) 6) Adjusted test for first-order serial correlation, which works even under random effects (假设有随机效应的情况下对一阶序列相关进行检验) 7) LM Joint test for random effects and serial correlation (随机效应和序列相关的联合检验) 3、固定效应模型,可采用广义最小二乘法(gls)进行估算,也可采用固定效应方程(fe): xtserial y x1 x2 xtgls y x1 x2 xttest2 xttest3 ——xtserial用于检验固定效应模型中的一阶序列自相关,可通用于xtgls和fe之前 ——xttest2用于检验不同厂商的相似性,若显著则各厂家的截面相似,可通用于xtgls和fe之 后 ——xttest3用于检验固定效应模型中的异方差问题,若显著则有异方差,可通用于xtgls和fe 之后
本文档为【stata常用命令】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:83KB
软件:Word
页数:40
分类:生活休闲
上传时间:2017-09-19
浏览量:120