STATA命令应用及详细解释(汇总情况)
- 格式:doc
- 大小:105.54 KB
- 文档页数:33
STATA命令应用及详细解释STATA是一种统计软件,被广泛应用于数据分析和统计建模。
在STATA中,有许多命令可以用来汇总数据并提取关键统计信息,以便更好地理解和解释数据。
下面将介绍一些常用的STATA命令,并详细解释其用途和功能。
1. summarize:summarize命令用于对数值变量进行简单的统计汇总。
它会输出变量的观测数、均值、标准差、最小值、最大值等统计量。
2. tabulate:tabulate命令用于对分类变量进行频数统计。
它会输出每个分类变量的取值及其频数,并可以计算相对频数和累计频数。
3. descriptives:descriptives命令可以同时对数值变量和分类变量进行统计汇总。
它会输出每个变量的观测数、缺失值数、均值、标准差、最小值、最大值、频数等统计量。
4. summarizeby:summarizeby命令可以按照一个或多个分类变量对数值变量进行分组统计。
它会输出每个分类组别的观测数、均值、标准差、最小值、最大值等统计量。
5. collapse:collapse命令用于对数据进行折叠操作,将数据按照指定的分类变量进行分组,并计算每组的汇总统计量。
它可以用于生成汇总数据集,以便后续分析。
6. bysort:bysort命令可以按照一个或多个变量对数据进行排序,然后对排序后的数据进行分组统计。
它可以与其他命令结合使用,如collapse、egen等。
7. egen:egen命令可以生成新的衍生变量,该变量可以基于原始数据进行计算。
它支持许多统计函数,如均值、标准差、总和、中位数等,并可以按照一个或多个分类变量进行分组计算。
8. tabstat:tabstat命令可以对数值变量进行多个统计量的计算,并将结果输出为一个表格。
它支持均值、标准差、最小值、最大值、中位数等统计量,并可以按照一个或多个分类变量进行分组计算。
9. corr:corr命令用于计算变量之间的相关系数。
精品文档命令应用及详细解释(汇总)STATA调整变量格式:,小数点后取三位x1的列宽固定为10format x1 .3f ——将,有效数字取三位的列宽固定为10format x1 .3g ——将x1 ,采用科学计数法的列宽固定为10format x1 .3e ——将x1,小数点后取三位,加的列宽固定为10x1format x1 .3fc ——将入千分位分隔符,有效数字取三位,的列宽固定为10format x1 .3gc ——将x1 加入千分位分隔符,有效数字取三10x1format x1 %-10.3gc ——将的列宽固定为”表示左对齐位,加入千分位分隔符,加入“- 合并数据:\2006.dta, clear 桌面use C:\Documents and Settings\xks\\1999.dta 桌面merge using C:\Documents and Settings\xks\排列的自然)observation 样本(的数据按照——将1999和2006 顺序合并起来\2006.dta, clear 桌面use C:\Documents and Settings\xks\桌面merge id using C:\Documents and Settings\xks\\1999.dta ,unique sort 来合并,)(20061999——将和的数据按照唯一的unique变量id. 精品文档)进行排序(sort在合并时对id 建议采用第一种方法。
对样本进行随机筛选:sample 5050%的样本,其余删除在观测案例中随机选取sample 50,count 50个样本,其余删除在观测案例中随机选取查看与编辑数据:browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)(按所列变量与条件打开数据编辑器)edit x1 x2 if x3>3)merge)与扩展(append数据合并(表示样本appendmerge 表示样本量不变,但增加了一些新变量;目不变。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
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命令:用于进行面板数据的固定效应或随机效应模型分析。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f——将x1的列宽固定为10,小数点后取三位format x1 .3g——将x1的列宽固定为10,有效数字取三位format x1 .3e——将x1的列宽固定为10,采用科学计数法format x1 .3fc——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
stata 语法Stata 语法及其应用一、Stata 语法简介Stata 是一种统计分析软件,它具有强大的数据处理、统计分析和图形展示功能。
Stata 的语法简洁明了,便于用户使用和学习。
本文将介绍 Stata 的基本语法和一些常用的命令,以及它们在实际数据分析中的应用。
二、数据导入和整理1. 导入数据使用 Stata 导入数据的命令是 "use",其语法为:use "数据文件路径\文件名"。
例如,导入名为 "data.dta" 的 Stata 数据文件的命令是:use "C:\data.dta"。
2. 查看数据使用 Stata 查看数据的命令是 "browse",其语法为:browse。
该命令可以显示数据文件中的部分或全部观测值。
3. 数据清理对于数据清理,Stata 提供了一系列的命令,如"drop"、"replace" 和 "generate" 等。
其中,"drop" 命令可以删除变量或观测值,"replace" 命令可以替换变量的值,"generate" 命令可以生成新的变量。
三、数据分析1. 描述性统计描述性统计是对数据集的基本特征进行概括和分析。
Stata 提供了多种命令来计算和展示数据的描述性统计量,如 "summarize"、"tabulate" 和 "histogram" 等。
2. 回归分析回归分析是一种常用的统计方法,用于研究变量之间的关系。
在Stata 中,进行回归分析的命令是 "regress",其语法为:regress 因变量自变量1 自变量2 ...。
例如,进行一元线性回归分析的命令是:regress y x。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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", 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命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
stata11常用命令注:JB统计量对应的p大于0.05,则表明非正态,这点跟sktest和swilk 检验刚好相反;dta为数据文件;gph为图文件;do为程序文件;注意stata要区别大小写;不得用作用户变量名:_all _n _N _skip _b _coef _cons _pi _pred _rc _weight doublefloat long int in if using with命令:读入数据一种方式input x y1 42 5.53 6.24 7.75 8.5endsu/summarise/sum x 或 su/summarise/sum x,d对分组的描述:sort groupby group:su x%%%%%tabstat economy,stats(max) %返回变量economy的最大值%%stats括号里可以是:mean,count(非缺失观测值个数),sum(总和),max,min,range,%% sd,var,cv(变易系数=标准差/均值),skewness,kurtosis,median,p1(1%分位%% 数,类似地有p10, p25, p50, p75, p95, p99),iqr(interquantile range = p75 – p25)_all %描述全部_N 数据库中观察值的总个数。
_n 当前观察值的位置。
_pi 圆周率π的数值。
listgen/generate %产生数列egen wagemax=max(wage)clearuseby(分组变量)set more 1/0count %计数gsort +x (升序)gsort -x (降序)sort x 升序;并且其它变量顺序会跟着改变label var y "消费" %添加标签describe %描述数据文件的整体,包括观测总数,变量总数,生成日期,每个变量的存储类型(storage type),标签(label)replace x5=2*y if x!=3 %替换变量值replace age = 25 in 107 %令第107个观测中age为25rename y2 u %改变变量名drop in 2 %删除全部变量的第2行drop if x==. 删去x为缺失值的所有记录keep if x<2 %保留小于2的数据,其余变量跟随x改变keep in 2/10 %保留第2-10个数keep x1-x5 %保留数据库中介于x1和x5间的所有变量 (包括x1和x5),其余变量删除ci x1 x2,by(group) %算出置信区间,不过先前对group要先排序,即sort group;%by的意思逐个进行cii 12 3.816667 0.2710343, level(90) %已知均值,方差,计算90%的置信区间cii 10 2 %obs=10,mean=2,以二项分布形式,计算置信区间centile x,centile(2.5 25 50 75 97.5) %取分位数correlate/corr x y z %相关系数pwcorr x y,sig %给出原假设r=0的命令%如果变量非服从正态分布,则spearman x yregress/reg mean year %回归方程建立 reg y x,noconstant %无常数项predict meanhat %预测拟合值predict e,residual %得到残差estat hettest % 异方差检验dwstat % Durbin-Watson自相关检验vif % 方差膨胀因子logit y x1 x2 x3 (y取0或1,是被解释变量,x1-x3是被解释变量) %logit 回归probit y x1 x2 x3 (y取0或1,是被解释变量,x1-x3是被解释变量) %probit 回归tobit y x1 x2 x3 (y取值在0和1之间,是被解释变量,x1-x3是被解释变量) %tobit回归sktest e %残差正态性检验 p>0.05则接受原假设,即服从正态分布;%% sktest是基于变量的偏度和斜度(正态分布的偏度为0,斜度为3)swilk x %基于Shapiro-Wilk检验%%p值越小,越倾向于拒绝零假设,也就是变量越有可能不服从正态分布xi %生成虚拟变量tabulat gender,summ(math) %用gender指标对math进行分类,返回两类math 的mean、std、freqtabulate=tab %gen f=int((shengao-164)/3)*3+164 组距为3tabulate 变量名 [, generate(新变量) missing nofreq nolabel plot ] %%%%%generate(新变量) // 按分组变量产生哑变量nofreq // 不显示频数nolabel // 不显示数值标记plot // 显示各组频数图示missing // 包含缺失值cell // 显示各小组的构成比(小组之和为 1) column // 按栏显示各组之构成(各栏总计为 1)row // 按行显示各组之构成(各行总计为 1) %%%%%求和,求最小?mod(x,y) %求余数means %返回三种平均值di normprob(1.96)di invnorm(0.05)di binomial(20,5,0.5)di invbinomial(20,5,0.5)di tprob(10,2)di invt(10.0.05)di fprob(3,27,1)di invfprob(3,27,0.05)di chi2(3,5)di invchi2(3,0.05)stack x y z,into(e) %把三列合成一列xpose,clear %矩阵转置append using d:\0917.dta %把已打开的文件(x y z)跟0917里的(x y z)合并,是竖向合并,即观察值合并;merge using D:\0917.dta %把已打开的文件(x y z)跟0917里的(a b)合并,是横向合并,即变量合并;format x %9.2e %科学记数format x %9.2f %2位小数%产生随机数%1 产生20个在(0,1)区间上均匀分布的随机数uniform()set seed 100set obs 20gen r=uniform()list%clear 清除内存set seed 200 设置种子数为 200set obs 20 设置样本量为 20range no 1 20 建立编号 1 至 20gen r=uniform() 产生在(0,1)均匀分布的随机数gen group=1 设置分组变量 group 的初始值为 1sort r 对随机数从小到大排序replace group=2 in 11/20 设置最大的 10 个随机数所对应的记录为第2组,即:最小的10个随机数所对应的记录为第1组sort no 按照编号排序list 显示随机分组的结果也可以list if group==1和list no if group==1%2 产生10个服从正态分布N(100,6^2)的随机数invnorm(uniform())*sigma+u clear 清除内存set seed 200 设置种子数为 200set obs 10 设置样本量为 10 gen x=invnorm(uniform())*6+100 产生服从 N(100,6^2)的随机数list画图注意有些图前面要加histogram 直方图line 折线图scatter 散点图scatter y x,c(l) s(d) b2("(a)")graph twoway connected y x 连点图graph bar (sum) var2,over(var1) blabel(total) %条形图. graph bar p52 p72,by(d). graph bar p52 p72,over(d). graph bar p52 p72,by(d) stack. graph bar p52 p72,over(d) stack////////////数据如下%d p52 p72%1 163.2 27.4%2 72.5 83.6%3 57.2 178.2histogram x,bin(8) norm %画直方图,加正态分数线graph pie a b o ab if area==1,plabel(_all percent) %画饼图graph pie var2, over(var1) plabel(_all percent) %饼图graph pie p52 p72,by(d) %饼图graph box y1 %箱体图qnorm x %qq图lfit y x %回归直线graph matrix gender economy math 多变量散点图line yhat x||scatter y x,c(.l) s(O.) xline(12) yline(5.4) %线形图&散点图有一些通用的选项可以给图形“润色”:标题title(“string”) (string可为任意的字符串,下同)脚注note(“string”)横座标标题xtitle(“string”)纵座标标题ytitle(“sting”)横座标范围 xaxis(a,b) (a<b为两个数字,下同)纵座标范围 yaxis(a,b)插入文字 text (该命令既要指定插入文字的内容,也要指定插入的位置)插入图例 legend (该命令既要指定图例的内容,也要指定其位置)绘制散点图和线条的两个主要的选择项为:connect(c...c) //连接各散点的方式,c表示:或简写为c(c...c) . 不连接 (缺省值)l 用直线连接L 沿x方向只向前不向后直线连接m 计算中位数并用直线连接s 用三次平滑曲线连接J 以阶梯式直线条连接|| 用直线连接在同一纵向上的两点II 同 ||, 只是线的顶部和底部有一个短横Symbol(s...s) // 表示各散点的图形,s 表示:或简写为s(s...s) O 大圆圈 (缺省值)S 大方块T 大三角形o 小圆圈d 小菱形p 小加号. 小点i 无符号[varname] 用变量的取值代码表示[_n] 用点的记录号表示数学函数等都要与generate、replace、display一起使用,不能单独使用程序文件douse d:\0917.dtareg y xline y x,saving(d:\d4)按ctrl+D执行字符串操作函数:length(s) %长度函数,计算s的长度, 如,displength("ab")的结果是2substr(s,n1,n2) %子串函数,获得从s的n1个字符开始的n2个字符组成的字符串,disp substr("abcdef",2,3)的结果是"bcd"string(n) %将数值n转换成字符串函数,如,dispstring(41)+"f"的结果是"41f"real(s) %将字符串s转换成数值函数,如,dispreal("5.2")+1的结果是6.2upper(s) %转换成大写字母函数,如,disp upper("this")的结果是"THIS"lower(s) %转换成小写字母函数,如disp lower("THIS")的结果是"this"index(s1,s2) %子串位置函数,计算s2在s1中第一次出现的起始位置, 如果s2不在s1中, 则结果为0。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
(完整)stata命令总结,推荐文档stata11 常用命令注:JB统计量对应的p大于0.05 ,则表明非正态,这点跟sktest 和swilk 检验刚好相反;dta 为数据文件;gph 为图文件;do 为程序文件;注意stata 要区别大小写;不得用作用户变量名:_all _n _N _skip _b _coef _cons _pi _pred _rc _weight double float long int in if using with 命令:读入数据一种方式input x y142 5.53 6.247.758.5endsu/summarise/sum x 或su/summarise/sum x,d 对分组的描述:sort group by group:su x%%%%%tabstat economy,stats(max)%返回变量economy的最大值%%stats括号里可以是:mean,count(非缺失观测值个数),sum(总和),max,min,range ,%% sd ,var ,cv(变易系数=标准差/ 均值),skewness,kurtosis ,median,p1(1 %分位%% 数,类似地有p10, p25, p50, p75, p95, p99),iqr (interquantile range = p75 –p25)_all %描述全部_N 数据库中观察值的总个数。
_n 当前观察值的位置。
_pi 圆周率π 的数值。
list gen/generate % 产生数列egen wagemax=max(wage)clearuseby(分组变量)set more 1/0count % 计数 gsort +x ( 升序 ) gsort -x ( 降序 ) sort x 升序;并且其它变量顺序会跟着改变label var y " 消费 " %添加标签describe %描述数据文件的整体,包括观测总数,变量总数,生成日期,每个变量的存储类型 (storage type) ,标签 (label) replace x5=2*y if x!=3 % 替换变量值replace age = 25 in 107 %令第 107 个观测中 age 为 25rename y2 u %改变变量名drop in 2 %删除全部变量的第 2 行drop if x==. 删去 x 为缺失值的所有记录keep if x<2 %保留小于 2 的数据,其余变量跟随 x 改变 keep in 2/10 %保留第 2-10 个数 keep x1-x5 %保留数据库中介于 x1 和 x5 间的所有变量 ( 包括 x1 和 x5) ,其余变量删除ci x1 x2,by(group) %算出置信区间 , 不过先前对 group 要先排序,即sort group ;%by 的意思逐个进行cii 12 3.816667 0.2710343, level(90) %已知均值,方差,计算 90%的置信区间cii 10 2%obs=10,mean=2,以二项分布形式,计算置信区间centile x,centile(2.5 25 50 75 97.5) %取分位数correlate/corr x y z%相关系数pwcorr x y,sig %给出原假设 r=0 的命令%如果变量非服从正态分布,则spearman x y regress/reg mean year % 回归方程建立 reg y x,noconstant % 无常数项 predict meanhat %预测拟合值predict e,residual % 得到残差estat hettest % 异方差检验dwstat % Durbin-Watson 自相关检验 vif % 方差膨胀因子取 0或 1,是被解释变量, x1-x3 是被解释变量 ) %logit取 0 或 1 ,是被解释变量, x1-x3 是被解释变量 ) %probit 取值在 0和 1之间,是被解释变量, x1-x3 是被解释变sktest e % 残差正态性检验p>0.05 则接受原假设,即服从正态分布; %% sktest 是基于变量的偏度和斜度 (正态分布的偏度为 0,斜度为 3) swilk x %基于 Shapiro-Wilk 检验%%p 值越小,越倾向于拒绝零假设,也就是变量越有可能不服从正态分布 xi %生成虚拟变量tabulat gender,summ(math) %用 gender 指标对 math 进行分类,返回两类 mathlogit y x1 x2 x3 (y回归 probit y x1 x2 x3 (y 回归tobit y x1 x2 x3 (y 量 ) %tobit 回归的mean、std 、freqtabulate=tab %gen f=int((shengao-164)/3)*3+164 组距为3 tabulate 变量名[, generate( 新变量) missing nofreq nolabel plot ] %%%%%generate( 新变量) // 按分组变量产生哑变量nofreq // 不显示频数nolabel// 不显示数值标记plot // 显示各组频数图示missing // 包含缺失值cell // 显示各小组的构成比( 小组之和为1) column // 按栏显示各组之构成( 各栏总计为1) row // 按行显示各组之构成( 各行总计为1) %%%%% 求和,求最小?mod(x,y) % 求余数means %返回三种平均值di normprob(1.96) di invnorm(0.05) di binomial(20,5,0.5) di invbinomial(20,5,0.5) di tprob(10,2) di invt(10.0.05) di fprob(3,27,1) di invfprob(3,27,0.05) di chi2(3,5) di invchi2(3,0.05) stack x y z,into(e)%把三列合成一列xpose,clear %矩阵转置append using d:\0917.dta %把已打开的文件(x y z )跟0917 里的(x y z )合并,是竖向合并,即观察值合并;merge using D:\0917.dta %把已打开的文件(x y z )跟0917 里的( a b )合并,是横向合并,即变量合并;format x %9.2e %科学记数format x %9.2f %2 位小数%产生随机数%1 产生20 个在(0 ,1)区间上均匀分布的随机数uniform()set seed 100set obs 20gen r=uniform()list%clear 清除内存set seed 200 设置种子数为200 set obs 20 设置样本量为20 range no 1 20gen r=uniform()gen group=1为1sort rreplace group=2 in 11/20建立编号 1 至20产生在(0,1) 均匀分布的随机数设置分组变量group 的初始值对随机数从小到大排序设置最大的10 个随机数所对应的记录为第 2 组,即:最小的10 个随机数所对应的记录为第 1 组sort no list 按照编号排序显示随机分组的结果也可以list if group==1 和list no if group==1%2 产生10 个服从正态分布N( 100,6^2)的随机数invnorm(uniform())*sigma+u clear清除内存set seed 200 set obs 10设置种子数为200设置样本量为10gen x=invnorm(uniform())*6+100 产生服从N(100 ,6^2) 的随机数list画图注意有些图前面要加histogram 直方图line 折线图scatter 散点图scatter y x,c(l) s(d) b2("(a)") graph twoway connected y x 连点图graph bar (sum) var2,over(var1) blabel(total) % 条形图. graph bar p52 p72,by(d) . graph bar p52 p72,over(d) . graph bar p52p72,by(d) stack . graph bar p52 p72,over(d) stack //////////// 数据如下%d p52 p72 %1 163.2 27.4 %2 72.5 83.6 %3 57.2 178.2 histogram x,bin(8) norm%画直方图,加正态分数线graph pie a b o ab if area==1,plabel(_all percent) % 画饼图graph pie var2, over(var1) plabel(_all percent) %饼图graph pie p52 p72,by(d) % 饼图graph box y1 % 箱体图qnorm x %qq 图 lfit y x %回归直线graph matrix gender economy math 多变量散点图line yhat x||scatter y x,c(.l) s(O.) xline(12) yline(5.4) %线形图 & 散点图有一些通用的选项可以给图形“润色”:标题title( “string ” ) ( string 可为任意的字符串,下同) 脚注note( “string ”) 横座标标题xtitle( “string ”) 纵座标标题ytitle( “sting ”) 横座标范围xaxis(a,b) (a// 连接各散点的方式, c 表示: . 不连接 ( 缺省值 ) l L m s J || [varname] 用变量的取值代码表示 [_n] 用点的记录号表示数学函数等都要与 generate 、 replace 、display 一起使用,不能单独使用程序文件 do use d:\0917.dta reg y xconnect(c...c) 或简写为 c(c...c)II 同 ||,个短横Symbol(s...s)// 表示各散点的图形, s 表示:或简写为 s(s...s) O 大圆圈 ( 缺省值 )S 大方块 T 大三角形 o 小圆圈 d 小菱形p 小加号用直线连接沿x 方向只向前不向后直线连接计算中位数并用直线连接用三次平滑曲线连接以阶梯式直线条连接用直线连接在同一纵向上的两点只是线的顶部和底部有一 i 小点无符号corr y xline y x,saving(d:\d4) 按ctrl+D 执行字符串操作函数:length(s)%长度函数,计算s 的长度, 如,disp length("ab") 的结果是substr(s,n1,n2)%子串函数,获得从s 的n1 个字符开始的n2个字符成的字符串,dispsubstr("abcdef",2,3)的结果是"bcd"string(n)%将数值n 转换成字符串函数,如,dispstring(41)+"f" 的结果是"41f"real(s)%将字符串s 转换成数值函数,如,dispreal("5.2")+1 的结果是6.2upper(s)%转换成大写字母函数,如,dispupper("this")的结果是"THIS"lower(s)%转换成小写字母函数,如displower("THIS")的结果是"this"index(s1,s2)%子串位置函数,计算s2 在s1 中第一次出现的起始位置, 如果s2 不在s1 中, 则结果为0。
stata常用命令总结Stata常用命令总结Stata是一款广泛应用于数据分析与统计建模的统计软件,具有强大的功能和广泛的应用领域。
在Stata中,我们可以通过命令来完成数据的读取、整理、分析和可视化等任务。
本文将对一些常用的Stata命令进行总结和介绍,以帮助读者更好地理解和应用Stata软件。
一、数据的读取与整理1. 读取数据文件:- use 文件名:读取已经存在的Stata数据文件。
- import delimited 文件名:读取以逗号、制表符或其他分隔符分隔的文本文件。
2. 显示数据:- describe:显示数据文件的基本信息,包括变量名、数据类型、有效观测数等。
- browse:以表格形式显示数据文件的部分观测值。
3. 数据整理:- generate 新变量名=计算公式:创建新的变量,并根据指定公式进行计算。
- egen 新变量名=计算函数:根据指定的计算函数对现有变量进行计算,并创建新的变量。
二、数据的统计分析与建模1. 描述性统计:- summarize 变量名:对指定变量进行描述性统计,包括均值、标准差、最小值、最大值等。
- tabulate 变量名:生成指定变量的频数表和百分比表。
2. 数据筛选与子集选择:- keep 如果条件:保留符合条件的观测值,删除不满足条件的观测值。
- drop 如果条件:删除符合条件的观测值,保留不满足条件的观测值。
- qui keep 如果条件:以无输出方式保留符合条件的观测值并生成新数据集。
- qui drop 如果条件:以无输出方式删除符合条件的观测值并生成新数据集。
3. 参数估计与假设检验:- regress 因变量自变量1 自变量2 ...:进行普通最小二乘回归分析。
- ttest 变量名, by(分组变量):进行两组样本均值差异的t检验。
4. 数据可视化:- scatter 变量1 变量2:绘制散点图。
- histogram 变量名:绘制直方图。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
STATA常用命令总结(34个含使用示例)1. sum:计算变量的简要统计信息,如均值、标准差等。
示例:sum variable2. tabulate:生成变量的频数表。
示例:tabulate variable3. describe:显示数据集的基本信息,如变量名和数据类型。
示例:describe dataset4. drop:删除数据集中的变量。
示例:drop variable5. keep:保留数据集中的变量,删除其他变量。
示例:keep variable6. rename:重命名变量。
示例:rename variable newname7. gen:根据已有变量生成新的变量。
示例:gen newvar = expression8. egen:根据已有变量生成新的变量,可以使用更复杂的函数和运算符。
示例:egen newvar = function(variable)9. recode:对变量的取值进行重新编码。
示例:recode variable (oldvalues= newvalues) 10. dropif:根据条件删除观测。
示例:dropif condition11. keepif:根据条件保留观测。
示例:keepif condition12. sort:对数据集按指定变量进行排序。
示例:sort variable13. merge:将两个数据集按照共享变量合并。
示例:merge 1:1 variable using dataset214. reshape:将数据从宽格式转换为长格式或反之。
示例:reshape long var, i(id) j(year)15. regress:进行线性回归分析。
示例:regress dependent_var independent_vars 16. logistic:进行逻辑回归分析。
示例:logistic dependent_var independent_vars 17. probit:进行Probit回归分析。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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表示样本总量增加了,但变量数目不变。
STATA常用命令总结(34个含使用示例)1. clear:清空当前工作空间中的数据。
示例:clear2. use:加载数据文件。
示例:use "data.dta"3. describe:查看数据文件的基本信息。
示例:describe4. summarize:统计数据的描述性统计量。
示例:summarize var1 var2 var35. tabulate:制作数据的列联表。
示例:tabulate var1 var26. scatter:绘制散点图。
示例:scatter x_var y_var7. histogram:绘制直方图。
示例:histogram var8. boxplot:绘制箱线图。
示例:boxplot var1 var29. ttest:进行单样本或双样本t检验。
示例:ttest var, by(group_var)10. regress:进行最小二乘法线性回归分析。
示例:regress dependent_var independent_var1 independent_var211. logistic:进行逻辑斯蒂回归分析。
示例:logistic dependent_var independent_var1 independent_var212. anova:进行方差分析。
示例:anova dependent_var independent_var13. chi2:进行卡方检验。
示例:chi2 var1 var214. correlate:计算变量之间的相关系数。
示例:correlate var1 var2 var315. replace:替换数据中的一些值。
示例:replace var = new_value if condition16. drop:删除变量或观察。
示例:drop var17. rename:重命名变量。
示例:rename old_var new_var18. generate:生成新变量。
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .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这三个编码排序,并建立临时数据库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 priceweight,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 matrixstep1.用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)。