stata命令大全
- 格式:doc
- 大小:35.05 KB
- 文档页数:15
stata常用命令1. 生成变量1.1 gen生成新变量,可以是常数或基于其他变量的一般表达式。
1.2 replace替换已有变量的值。
生成专门函数如总和、均值、标准差等。
2. 数据子集保留指定的变量。
2.2 drop2.3 in子集数据只保留某些被满足条件的观察值。
更加灵活地较大判断条件。
3. 重塑数据3.1 wide将数据在垂直方向与一个变量进行“展开”(unstack)。
4. 数据合并将两个数据集根据一些共同变量进行合并。
5. 数据排序5.1 sort按顺序排列观测值。
5.2 by指定一组变量作为分类变量,然后对该变量使用stata命令。
6. 描述性统计和图形6.1 summarize描述数据集的基本信息。
6.2 tabulate生成列联表。
绘制直方图。
生成散点图。
6.5 twoway可用于绘制多元图形,包括线图、条形图、密度图等。
7. 频数用于表格中简单查看可以因为比较大的变量。
8. 回归分析8.1 regress线性回归分析。
8.2 logistic8.3 probit生成probit模型。
9. 时间序列9.1 tsset使用stata处理时间序列数据的第一步是指定数据集变量中的时间序列。
生成时间序列图。
10. 面板数据使Stata处理面板数据。
10.2 xtreg生成固定效应模型或随机效应模型。
11. 模型诊断使用模型生成新的预测值。
测试线性组合的系数的显著性。
12. 元分析进行元分析。
13. 子样本13.1 markin创建一个新文件并标记子样本。
标记子样本中的索引值。
以上就是stata常用命令,当然并不是所有的命令都一一列举,在实践用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", clearmerge using "C:\Documents and Settings\xks\桌面\1999.dta"——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge 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表示样本总量增加了,但变量数目不变。
Stata常用命令总结Stata是一种统计分析软件,广泛用于社会科学、经济学、生物医学等领域的数据分析。
它具有丰富的功能和灵活的数据处理能力,能够进行各种统计分析、数据可视化和模型建立。
本文将总结Stata的常用命令,包括重要观点、关键发现和进一步思考,帮助读者更好地理解和使用Stata。
一、数据导入和处理e命令:用于导入Stata数据文件(.dta)。
2.import命令:用于导入其他格式的数据文件(如Excel、CSV等)。
3.save命令:用于保存当前数据文件。
4.drop命令:用于删除变量或观察值。
5.keep命令:用于保留指定的变量或观察值。
重要观点:在数据导入和处理阶段,要注意数据的完整性和准确性。
需要检查数据的缺失值、异常值和数据类型,做好数据清洗和预处理工作。
二、数据描述和统计分析1.summarize命令:用于计算变量的描述性统计量,如均值、标准差、最大值、最小值等。
2.tabulate命令:用于制作交叉表和列联表。
3.correlate命令:用于计算变量之间的相关系数。
4.regress命令:用于进行线性回归分析。
5.logit命令:用于进行二分类的逻辑回归分析。
重要观点:在进行数据描述和统计分析时,要根据研究问题选择合适的方法和指标。
同时要注意解释统计结果的意义,避免过度解读和误导。
三、数据可视化1.histogram命令:用于绘制直方图。
2.scatter命令:用于绘制散点图。
3.twoway命令:用于绘制多种类型的图形,如线图、柱状图、饼图等。
4.graph export命令:用于将图形导出为图片文件。
重要观点:数据可视化是数据分析的重要手段,能够直观地展示数据的分布和关系。
在进行数据可视化时,要选择合适的图形类型和参数,使图形简洁明了,易于理解和解释。
四、面板数据分析1.xtset命令:用于设置面板数据的时间和单位。
2.xtreg命令:用于进行面板数据的固定效应或随机效应模型分析。
statasave命令FileSave A s例1. 表1.为某一降压药临床试验数据,试从键盘输入S tata,并保存为S tata格式文件。
STATA数据库的维护排序SORT变量名1 变量名2……变量更名r ename 原变量名新变量名STAT A数据库的维护删除变量或记录drop x1 x2 /* 删除变量x1和x2d rop 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之一为缺失值的所有记录dropif x==.&y==. /* 删去x和y同时为缺失值的所有记录drop _all /* 删掉数据库中所有变量和数据STATA的变量赋值用generat e产生新变量gen erate 新变量=表达式genera te bh=_n /* 将数据库的内部编号赋给变量bh。
gener ate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5个3……。
直到数据库结束。
generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0。
gener ate y=log(x) if x>0/* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。
e gen产生新变量s et obs 12egen a=seq() /*产生1到N的自然数egenb=seq(),b(3) /*产生一个序列,每个元素重复#次egen c=seq(),to(4) /*产生多个序列,每个序列从1到#egen d=se q(),f(4)t(6) /*产生多个序列,每个序列从#1到#2encode字符变量名,gen(新数值变量名)作用:将字符型变量转化为数值变量。
stata命令总结.docStata命令总结引言Stata是一款强大的统计分析软件,广泛应用于经济学、社会学、医学等领域。
Stata命令是进行数据处理、统计分析、图形展示等操作的基础。
本文将对Stata中常用的命令进行总结,以帮助用户更高效地使用Stata进行数据分析。
Stata基础命令1. 数据管理导入数据:import excel, import delimited导出数据:export excel, export delimited数据集保存:save, saveold2. 变量管理创建变量:generate, egen修改变量:replace删除变量:drop3. 数据清洗数据类型转换:destring, encode, format缺失值处理:mvdecode, drop if missing()异常值检测:tabulate, summarize描述性统计分析1. 基本统计量描述性统计:summarize频率统计:tabulate相关系数:correlate2. 分组统计分组描述:bysort, xtsum 分组汇总:collapse3. 数据转换数据长格式:reshape long 数据宽格式:reshape wide 推断性统计分析1. 假设检验t检验:ttest方差分析:anova卡方检验:tabulate, chi2 2. 回归分析线性回归:regress逻辑回归:logit泊松回归:poisson3. 时间序列分析时间序列描述:tsreport自回归模型:arima高级统计分析1. 面板数据分析面板数据描述:xtset, xtsum固定效应模型:xtreg fe随机效应模型:xtreg re2. 多层次模型多层次线性模型:xtmelogit3. 结构方程模型结构方程模型:sem绘图与可视化1. 基本图形散点图:scatter线图:line柱状图:bar2. 高级图形箱线图:boxplot直方图:histogram核密度估计图:kdensity3. 交互式图形交互式图形:twoway, graph edit编程与自动化1. 循环与条件语句循环:foreach, forvalues条件语句:if, else2. 脚本与批处理脚本编写:do-file批处理:batch3. 宏与用户定义命令宏:macro用户定义命令:program define结语Stata命令的掌握是进行高效数据分析的前提。
Stata常用15条命令【命令1】:导入数据一般做实证分析使用的是excel中的数据,其后缀名为.xls,需要将其修改为.csvinsheet using name.csv, clear【命令2】:删除重复变量sort var1 var2duplicatesdrop var1 var2, force【命令3】:合并数据use data1, clearmerge m:m var1 var2 using data2drop if _merge==2drop if _merge==1drop _merge【命令4】:描述性统计分析tabstat var1var2, stat(n min mean median p25 p75 maxsd), if groupvar==0 or 1输出到word中:logout, save(name) word replace: tabstat var, stat(n min mean p50 max sd) col(stat)f(%9.2g)【命令5】:结果输出安装ssc install estout, replace单个回归reg y xesttab using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01)多个回归一起reg y x1est store m1reg y x2est store m2esttab m1 m2 using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01)【命令6】生成虚拟变量tab year, gen(year)tab industry, gen(industry)【命令7】数据缩尾处理findit winsor2之后安装winsor2 varname, replace cut(1 99)【命令8】异方差检验怀特检验ssc install whitetstreg y x1 x2estat imtest, white处理:“OLS+稳健标准差”reg y x1 x2 x3, robust【命令9】 DW检验gen id=_ntsset idestat dwatson【命令10】计算两个日期之间的间隔天数gen td=date(trading_date,'YMD')gen ed=date(eventdate,'YMD')form td ed %tdgen d=ed-td【命令11 】生成滞后、差分数据tsset code yeargen newvarname=l.varnamegen newvarname=d.varname【命令12】多重共线检验之方差膨胀因子reg y x1 x2 x3vif【命令13】多重共线修正之逐步回归stepwise, pe(0.1): reg y x 【命令14】检验是否遗漏高次项reg y xestat ovtest或者estat ovtest, rhs【命令15】样本检验两样本均值T检验ttest var, by(groupvar)两样本中位数Z检验ranksum var, by(groupvar)。
********* 面板数据计量分析与软件实现 *********说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。
本人做了一定的修改与筛选。
*----------面板数据模型* 1.静态面板模型:FE 和RE* 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验* 4.动态面板模型(DID-GMM,SYS-GMM)* 5.面板随机前沿模型* 6.面板协整分析(FMOLS,DOLS)*** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。
* 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA)*** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog生产函数,一步法与两步法的区别。
常应用于地区经济差异、FDI 溢出效应(Spillovers Effect)、工业行业效率状况等。
* 空间计量分析:SLM模型与SEM模型*说明:STATA与Matlab结合使用。
常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。
* ---------------------------------* --------一、常用的数据处理与作图-----------* ---------------------------------* 指定面板格式xtset id year (id为截面名称,year为时间名称)xtdes /*数据特征*/xtsum logy h /*数据统计特征*/sum logy h /*数据统计特征*/*添加标签或更改变量名label var h "人力资本"rename h hum*排序sort id year /*是以STATA面板数据格式出现*/sort year id /*是以DEA格式出现*/*删除个别年份或省份drop if year<1992drop if id==2 /*注意用==*/*如何得到连续year或id编号(当完成上述操作时,year或id就不连续,为形成panel 格式,需要用egen命令)egen year_new=group(year)xtset id year_new**保留变量或保留观测值keep inv /*删除变量*/**或keep if year==2000**排序sort id year /*是以STATA面板数据格式出现sort year id /*是以DEA格式出现**长数据和宽数据的转换*长>>>宽数据reshape wide logy,i(id) j(year)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。
调整变量格式: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", clearmerge using "C:\Documents and Settings\xks\桌面\1999.dta"——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge 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表示样本总量增加了,但变量数目不变。
stata常用命令资料Stata是一种广泛使用的统计分析软件,它提供了丰富的数据处理、统计计算和图形绘制功能。
下面是一些常用的Stata命令及其用法,以帮助您更好地使用Stata进行数据分析。
1. 数据导入与导出- `import excel:从Excel文件中导入数据。
- `import delimited:从文本文件中导入数据。
- `save:保存当前数据集。
- `use:加载已保存的数据集。
- `export excel:将数据导出到Excel文件。
2. 数据处理与清洗- `drop:删除变量或观察。
- `keep:保留指定变量或观察。
- `rename:重命名变量。
- `egen:生成新变量,如求和、平均值等。
- `egen group:按照指定的变量进行分组。
3. 描述统计- `summarize:计算变量的描述统计量,如均值、标准差等。
- `tabulate:制表统计,用于计算分类变量的频数和百分比。
- `histogram:绘制直方图。
- `correlate:计算变量之间的相关系数。
- `egen:生成新的汇总统计量,如总和、均值等。
4. 统计模型- `regress:线性回归分析。
- `logit:二项逻辑回归分析。
- `probit:概率回归模型。
- `ttest:单样本或双样本t检验。
- `anova:方差分析。
5. 数据可视化- `scatter:绘制散点图。
- `line:绘制折线图。
- `bar:绘制柱状图。
- `histogram:绘制直方图。
- `graph combine:将多个图形合并为一个图形。
6. 数据管理- `sort:对数据进行排序。
- `merge:合并两个数据集。
- `reshape:改变数据集的结构。
- `append:将多个数据集追加到一个数据集中。
- `collapse:将数据按照指定的变量进行折叠。
7. 循环与条件语句- `foreach:循环变量的值。
调整变量格式: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", clearmerge using "C:\Documents and Settings\xks\桌面\1999.dta"——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge 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这三个编码排序,并建立临时数据库tempw1clearuse "t:\statatut\exampw1.dta"su ——summarize的简写sort v001 v002 v003save tempw1第二步:对exampw2做同样的处理clearuse "t:\statatut\exampw2.dta"susort v001 v002 v003save tempw2第三步:使用tempw1数据库,将其与tempw2合并:clearuse tempw1merge v001 v002 v003 using tempw2第四步:查看合并后的数据状况:ta _merge ——tabulate _merge的简写su第五步:清理临时数据库,并删除_merge,以免日后合并新变量时出错erase tempw1.dtaerase tempw2.dtadrop _merge数据扩展append:数据源自stata tutorial中的fac19和newfacclearuse "t:\statatut\fac19.dta"ta regionappend 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 quickbitest 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 x2summarize y x1 x2,detailhistogram 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<1000drop if y>1000对数据排序:sort xgsort +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 xgen 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,sorttab1 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=1count if X1==0count if X1>=0gen X2=1 if X1>=0corr 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)。