stata常用命令模板
(完整word版)stata命令语句
(完整word版)stata命令语句stata学习心得(网络版存盘)2009-03-25 18:06调整变量格式: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表示样本总量增加了,但变量数目不变。
stata命令大全(全)Word版
*********面板数据计量分析与软件实现*********说明:以下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)变量排序,当变量太多,按规律排列。
stata常用命令
第一讲:
use 打开数据文件,一般加 clear 选型清空内存中现有数据。 sysuse 打开系统数据文件。 describe 描述数据 edit 利用数据编辑器进行数据编辑 list 类似于 edit,但只能显示不能修改数据。 display 显示计算结果。经常写为: di summarize 求某个变量的观察值个数、平均值、标准差、最小值和最大值。经常写 为:sum scatter 生成两个变量的散点图。 set obs 定义样本个数(使用前一定要用 drop 或者 clear 命令清空当前样本) generate 建立新变量并赋值。经常写为 gen (**********************)stata 命令格式 (**********************) [by varlist:] command [ varlist] [=exp] [if exp] [in range] [ weight] [, options] 1。Command 命令动词,经常用缩写。 2。varlist 表示一个变量或者多个变量,多个变量之间用空格隔开。如 sum price weight 3。 4。 5。 6。 by varlist 分类信息 按照某一变量的不同特性分类 =exp 赋值及运算 if exp 挑选满足条件的数据 in range 对数据进行范围筛选 给数据赋一个权重
例二: use wage2, clear reg lnwage educ tenure exper expersq 1。教育(educ)和工作时间(tenure)对工资的影响相同。 test educ=tenure (两个变量的系数是否相等) 2。工龄(exper)对工资没有影响 test exper (检验 exper 的系数是否为 0) 3。检验 educ 和 tenure 的联合显著性 或者 test e(去年王永画的范围内明确指明 FGLS 不考! ! ! ) FGLS 的步骤 (1) 对原方程用 OLS 进行估计,得到残差项的估计 ûi , (2) 计算 ln(ûi2 ) (3) 用 ln(û2 )对所有独立的解释变量进行回归,然后得到拟合值 ĝ i (4) 计算 ĥi = exp(ĝ i) (5) 用 1/ ĥi 作为权重, 做 WLS 回归。 Reg y x1 x2 x3„„ predict u,res
完整word版,stata命令大全(全),推荐文档
*********面板数据计量分析与软件实现*********说明:以下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)变量排序,当变量太多,按规律排列。
stata常用命令(转自人人)
最重要的两个命令莫过于help和search了。
即使是经常使用stata的人也很难,也没必要记住常用命令的每一个细节,更不用说那些不常用到的了。
所以,在遇到困难又没有免费专家咨询时,使用stata自带的帮助文件就是最佳选择。
stata的帮助文件十分详尽,面面俱到,这既是好处也是麻烦。
当你看到长长的帮助文件时,是不是对迅速找到相关信息感到没有信心?闲话不说了。
help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。
如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在stata的命令行窗口中输入help空格加上这个名字。
回车后结果屏幕上就会显示出这个命令的帮助文件的全部内容。
如果你想知道在stata下做某个估计或某种计算,而不知道具体该如何实现,就需要用search命令了。
使用的方法和help类似,只须把准确的命令名改成某个关键词。
回车后结果窗口会给出所有和这个关键词相关的帮助文件名和链接列表。
在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。
耐心寻找,反复实验,通常可以较快地找到你需要的内容。
下面该正式处理数据了。
我的处理数据经验是最好能用stata的do文件编辑器记下你做过的工作。
因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。
能够重复前面的工作是非常重要的。
有时因为一些细小的不同,你会发现无法复制原先的结果了。
这时如果有记录下以往工作的do文件将把你从地狱带到天堂。
因为你不必一遍又一遍地试图重现做过的工作。
在stata窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bring do-file editor to front”,点击它就会出现do文件编辑器。
为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。
这里给出我使用的“头”和“尾”。
capture clear (清空内存中的数据)capture log close (关闭所有打开的日志文件)set mem 128m (设置用于stata使用的内存容量)set more off (关闭more选项。
stata命令表
use "t:\statatut\exampw1.dta"
su ——summarize的简写
sort v001 v002 v003
save tempw1
第二步:对exampw2做同样的处理
clear
use "t:\statatut\exampw2.dta"
su
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)为单位)
(假设每次得到成功案例‘1’的概率等于0.3,计算在变量quick所显示的二项分布情况下,各种累计概率和单个概率是多少)
bitesti 10,3,0.5,detail
(计算当每次成功的概率为0.5时,十次抽样中抽到三次成功案例的概率:低于或高于三次成功的累计概率和恰好三次成功概率)
(2)泊松分布概率:
数据合并(merge)与扩展(append)
merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目不变。
one-to-one merge:
数据源自stata tutorial中的exampw1和exampw2
第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1
(叠加三个点线相连图)
更多变量:
stata最常用命令大全
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常用命令模板
stata常用命令模板stata常用命令(2021-07-2917:22:25)转载标签:分类:stata杂谈save命令filesaveas例1.表1.为某一降压药临床试验数据,试从键盘输入stata,并保存为stata格式文件。
stata数据库的维护排序sort局部变量1局部变量2……变量改名rename原变量名新变量名stata数据库的保护删掉变量或记录dropx1x2/*删除变量x1和x2dropx1-x5/*删掉数据库中介乎x1和x5间的所有变量(包含x1和x5)dropifx<0/*删掉x1<0的所有记录dropin10/12/*删掉第10~12个记录dropifx==./*删去x为缺失值的所有记录dropifx==.|y==./*删掉x或y之一为缺位值的所有记录dropifx==.&y==./*删掉x和y同时为缺位值的所有记录drop_all/*删除数据库中所有变量和数据stata的变量赋值用generate产生崭新变量generate崭新变量=表达式generatebh=_n/*将数据库的内部编号赋给变量bh。
generategroup=int((_n-1)/5)+1/*按当前数据库的顺序,依次产生5个1,5个2,5个3……。
直至数据库完结。
generateblock=mod(_n,6)/*按当前数据库的顺序,依次产生1,2,3,4,5,0。
generatey=log(x)ifx>0/*产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。
egen产生崭新变量setobs12egena=seq()/*产生1到n的自然数egenb=seq(),b(3)/*产生一个序列,每个元素重复#次egenc=seq(),to(4)/*产生多个序列,每个序列从1至#egend=seq(),f(4)t(6)/*产生多个序列,每个序列从#1至#2encode字符局部变量,gen(崭新数值局部变量)促进作用:将字符型变量转变为数值变量。
Stata常用15条命令
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)。
stata命令大全(全)
********* 面板数据计量分析与软件实现 *********说明:以下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)变量排序,当变量太多,按规律排列。
stata命令大全(全)
********* 面板数据计量分析与软件实现 *********说明:以下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)变量排序,当变量太多,按规律排列。
stata常用命令总结
stata常用命令总结Stata是一种统计分析软件,常用于数据处理、数据分析和统计建模等领域。
以下是一些常用的Stata命令的总结:1. 数据加载与保存:- `use`:加载Stata数据文件。
- `import`:导入其他文件格式的数据。
- `save`:保存当前数据文件。
- `export`:将数据导出到其他文件格式。
2. 数据处理与变量操作:- `generate`:创建新变量。
- `replace`:替换变量值。
- `drop`:删除变量或观测。
- `rename`:重命名变量。
- `sort`:对数据进行排序。
- `merge`:合并数据集。
3. 描述性统计与数据分析:- `summarize`:计算变量的描述性统计量。
- `tabulate`:制表统计。
- `regress`:进行线性回归分析。
- `logit`:进行Logistic回归分析。
- `anova`:进行方差分析。
- `ttest`:进行双样本t检验。
4. 绘图与可视化:- `histogram`:绘制直方图。
- `scatter`:绘制散点图。
- `line`:绘制折线图。
- `boxplot`:绘制箱线图。
- `graph combine`:组合多个图形。
5. 循环与条件语句:- `forvalues`:进行循环操作。
- `if`:根据条件进行数据筛选。
- `foreach`:对变量进行循环操作。
这只是一些常用的Stata命令的总结,Stata还有很多其他强大的功能和命令。
你可以参考Stata官方文档或其他相关资源,深入了解更多命令和用法。
(完整)stata命令总结,推荐文档
(完整)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命令大全(全)
********* 面板数据计量分析与软件实现 *********说明:以下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)变量排序,当变量太多,按规律排列。
STATA常用命令总结(34个含使用示例)
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回归分析。
(完整word版)Stata命令整理
Stata 命令语句格式:[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options]1、[by varlist:]*如果需要分别知道国产车和进口车的价格和重量,可以采用分类操作来求得,sort foreign //按国产车和进口车排序. by foreign: sum price weight*更简略的方式是把两个命令用一个组合命令来写。
. by foreign, sort: sum price weight如果不想从小到大排序,而是从大到小排序,其命令为gsort。
. sort - price //按价格从高到低排序. sort foreign -price /*先把国产车都排在前,进口车排在后面,然后在国产车内再按价格从大小到排序,在进口车内部,也按从大到小排序*/2、[=exp]赋值运算. gen nprice=price+10 //生成新变量nprice,其值为price+10/*上面的命令generate(略写为gen) 生成一个新的变量,新变量的变量名为nprice,新的价格在原价格的基础上均增加了10 元。
. replace nprice=nprice-10 /*命令replace 则直接改变原变量的赋值,nprice 调减后与price 变量取值相等*/3、[if exp]条件表达式. list make price if foreign==0*只查看价格超过1 万元的进口车(同时满足两个条件),则. list make price if foreign==1 & price>10000*查看价格超过1 万元或者进口车(两个条件任满足一个). list make price if foreign==1 | price>100004、[in range]范围筛选sum price in 1/5注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。
STATA常用命令总结(34个含使用示例)
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基本命令
stata基本命令+实例+数据+结果--必看,经典2009-08-25 12:29Stata 常用命令save命令FileSave As例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata 格式文件。
STATA数据库的维护排序SORT 变量名1 变量名2 ……变量更名rename 原变量名新变量名STATA数据库的维护删除变量或记录drop x1 x2 /* 删除变量x1和x2drop 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 12egen a=seq() /*产生1到N的自然数egen b=seq(),b(3) /*产生一个序列,每个元素重复#次egen c=seq(),to(4) /*产生多个序列,每个序列从1到#egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2encode 字符变量名,gen(新数值变量名)作用:将字符型变量转化为数值变量。
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表示样本总量增加了,但变量数目不变。
(完整word版)stata命令语句.docx
stata学习心得(网络版存盘)2009-03-25 18:06调整变量格式: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,有效数字取三位,加入千分位分隔符,加入“- ”表示左对齐合并数据:桌面 \2006.dta", clear桌面 \1999.dta"——将 1999 和 2006 的数据按照样本(observation)排列的自然顺序合并起来桌面 \2006.dta", clear桌面 \1999.dta" ,unique sort——将 1999 和 2006 的数据按照唯一的(unique )变量 id 来合并,在合并时对id 进行排序( sort )建议采用第一种方法。
对样本进行随机筛选:sample 50在观测案例中随机选取50%的样本,其余删除在观测案例中随机选取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 合并:clearmerge 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的茎叶图,每一个十分位的树茎都被拆分成五段来显示,每个小树茎的组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 的平均数的条形图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
stata 常用命令(2012-07-29 17:22:25)转载▼分类:stata标签:杂谈save命令FileSave As例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。
STATA数据库的维护排序SORT 变量名1 变量名2 ……变量更名rename 原变量名新变量名STATA数据库的维护删除变量或记录drop x1 x2 /* 删除变量x1和x2drop 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 12egen a=seq() /*产生1到N的自然数egen b=seq(),b(3) /*产生一个序列,每个元素重复#次egen c=seq(),to(4) /*产生多个序列,每个序列从1到#egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2encode 字符变量名,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 x11. 3550 24502. 2000 24003. 3000 18004. 3950 32005. 3800 3250use "E:\教学\上机\ex3-2.dta", clearlx0 x1 g1. 2450 1450 22. 2100 2400 23. 2300 3800 24. 1590 4200 2append using E:\教学\上机\ex3-3.dtalx0 x1 g1. 2450 1450 22. 2100 2400 23. 2300 3800 24. 1590 4200 25. 3550 2450 .6. 2000 2400 .7. 3000 1800 .8. 3950 3200 .9. 3800 3250 .横向联接数据库Ex3-5.dta:bh y0 y1 x01. 1 35 79.2 22. 3 45 47.4 83. 4 52 34.6 64. 6 66 28.0 9命令. drop _all. use E:\教学\MPH上机\ex3-5.dta. sort bh. save "E:\教学\MPH上机\ex3-5.dta",replacefile 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 _merge1. 1 12 24 35 79.2 32. 2 15 26 . . 13. 3 16 49 45 47.4 34. 4 18 57 52 34.6 35. 5 20 68 . . 16. 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的作图作图命令GRAPHgraph [变量名] [, 图形类型通用选择项特殊选择项]图形类型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 xsum x,dsum x if x<140sum x if x<140,dcentile xcentile x,centile(25,50,75)例有五份血清的抗体效价为1:10, 1:20, 1:40, 1:80, 1:160,描述其抗体滴度的平均水平。
means xSTATA的作图作图命令graph 简写gragra [变量名] [, 图形类型通用选择项特殊选择项]图形类型histogram /* 直方图oneway /* 一维散点图twoway /* 二维散点图、线图matrix /* 二维散点图阵bar /* 条图、百分条图pie /* 圆(饼)图box /* 箱式图star /* 星形图直方图数值变量资料的统计分析样本均数与总体均数比较的t检验配对设计 t检验成组设计t 检验方差齐性检验样本均数与总体均数比较的t检验ttest 变量名= #valttesti #obs #mean #sd #val例问题:统计量与参数不同的两种可能其一:抽样误差(偶然的、随机的、较小的)其二:本质上的差别(必然的、大于随机误差)例样本:某医生随机抽查10名某病患者的血红蛋白,求得其均数为12.59 (g/dl),标准差为1.632619 (g/dl) 。
问题:该病患者的平均Hb含量是否与正常人的平均Hb含量相同 (正常人的平均Hb含量为14.02 (g/dl)。
STATA 命令ttest 变量名= #valttest x =14.02STATA 结果ttest x=14.02One-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: 9Ho: mean(x) = 14.02Ha: mean < 14.02 Ha: mean ~= 14.02 Ha: mean > 14.02t = -2.7698 t = -2.7698 t = -2.7698P < t = 0.0109 P > |t| = 0.0218 P > t = 0.9891STATA 命令ttesti #obs #mean #sd #valttesti 10 12.59 1.632619 14.02配对设计t检验ttest 变量1=变量2STATA 命令ttest x1=x2STATA 结果ttest x1=x2Paired t test-------------------------------------------------------------------Variable | Obs Mean Std. Err. Std. Dev. [95% Conf. Interval]---------+---------------------------------------------------------x1 | 10 12.59 .5162794 1.632619 11.42209 13.75791x2 | 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) = 0Ha: mean(diff) < 0 Ha: mean(diff) ~= 0 Ha: mean(diff) > 0t = -1.3066 t = -1.3066 t = -1.3066P < 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 表示非配对的,如不选就作配对t检验unequal 表示假设两组方差不齐,如不选表示假设两组方差达到齐性例(成组设计)分别测得14例老年人煤饼病人及11例正常人的尿中17 酮类固醇排出量(mg/dl)如下,试比较两组的均数有无差别STATA 命令ttest x1=x2, unpairedttest x, by(g)STATA 结果ttest x1=x2,unpTwo-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.215x2 | 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: 23Ho: mean(x1) - mean(x2) = diff = 0Ha: diff < 0 Ha: diff ~= 0 Ha: diff > 0t = -1.8066 t = -1.8066 t = -1.8066P < t = 0.0420 P > |t| = 0.0839 P > t = 0.9580两组资料间的方差齐性检验sdtest 变量名1 = 变量名2sdtest 变量,by(分组变量)sdtesti #obs1 #mean1 #sd1 #obs2 #mean2 #sd2单因素方差分析及方差齐性检验oneway 因变量分组变量,[选择项]noanova /* 不打印方差分析表missing /* 将缺省值作为单独的一组tabulate /* 打印各组的基本统计量表简写:tscheffe /* Scheffe法简写:schBonferroni /* Bonferroni法简写:bonsidak /* Sidak法简写:si各组均数两两比较oneway x group,noanova schComparison of var3 by group(Scheffe)Row Mean-|Col Mean | 1 2---------+----------------------2 | -.425| 0.426|3 | -.91 -.485| 0.024 0.330STATA软件及其应用-III秩和检验和相关与回归分析秩变换配对资料的秩和检验;两组资料的秩和检验;多组资料的秩和检验;直线相关分析;等级相关分析;直线回归分析;秩变换genrank 新变量= 原变量egen 新变量=rank(原变量)配对资料的秩和检验signrank 变量1 = 变量2 [if 变量1!=变量2]两组资料的秩和检验ranksum 观察值变量,by(分组变量)两组资料的秩和检验两组资料的秩和检验例3 用复方猪胆胶囊治疗老年性慢性支气管炎患者403例,疗效见第(1)~ (3)栏。