stata基础命令

合集下载

stata常用命令

stata常用命令
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

stata入门常用命令

stata入门常用命令

stata入门常用命令Stata是一种统计分析软件,在社会科学、医学等研究领域很常用。

以下是Stata入门常用命令:1.数据加载use "文件路径":加载Stata数据,文件路径为数据文件所在的路径。

describe:显示数据集的变量名、数据类型、缺失值和数据分布等。

2.变量处理generate 变量名=表达式:生成新变量(如指数变量),并可以使用算数、统计和逻辑运算。

replace 变量名=新值:替换某变量中的指定值(如缺失值)为新值。

drop 变量名:删除数据集中的变量。

rename 旧变量名 = 新变量名...:将变量改名。

recode 变量名(包含的值) = 新值:根据变量取值对其离散化。

3.数据子集sort 变量名...:按指定变量排序数据。

by 变量名:...:在一个或多个变量上划分数据集,然后对每个子集应用命令。

if (条件):指定一个条件,只选取满足条件的数据记录。

merge 命令:将两个或多个数据集根据指定变量进行合并。

4.数据汇总summarize:按变量计算数值统计(如平均值、标准差、中位数和四分位数)。

tabulate 变量名:对变量进行交叉分析,并产生表格输出。

5.数据可视化histogram 变量名:绘制直方图。

scatter 变量名1 变量名2:绘制散点图。

graph 命令:绘制多种类型的图表,例如线图和条形图。

6.线性回归regress 因变量自变量1 自变量2...:通过最小二乘法拟合多元线性回归模型。

test 命令:进行t检验、F检验、方差分析等统计检验。

predict 新变量名:计算回归模型的预测值或残差值,并存储在新的变量中。

7.度量方法计算correlate 命令:计算并存储所有变量的相关系数矩阵。

haase 命令:计算哈斯变换矩阵。

Inflate 命令:计算一个变量的方差膨胀因子和条件数。

8.模态分析(模拟)simulate 命令:用随机抽样模拟数据,计算一个或多个变量的特定函数或方程,并存储结果。

Stata常用命令

Stata常用命令

Stata常用命令大学期间觉得学的最有用的软件之一就是stata了,对stata基本是在血和泪的尝试中爬过,到了最后基本属于只要stata不出现红字错误命令就开心得不得了。

顺便整理一下常用的stata命令如下,应该对付计量方向第一学期的入门问题不大(求stata大神不虐..),所以就只写了一部分常用的,有时间后面再补充吧。

主要就是分为基本操作和回归统计两部分:1、基本操作import/use/insheet/merge:基本常用的导入文件就是这四个了,建议直接从stata的menu菜单中导入,导入xlsx和csv这种常见的格式时还有一些备用选项可以自己体验一下(比如string和把第一行视为变量名之类)。

merge需要单独说一下,因为是将两个数据库合并为一个,原理也比较简单,两个数据库中根据一些相同的变量把其他数据“加”到原来的数据库中,也是建议直接菜单操作,不要用命令。

在Data的Combine datasets的merge two datasets中,分为1:1、m:1、1:m各种形式,基本用两次就差不多能搞懂。

help:一定第一个学的是这个!啥不会就help一下,不知道函数了就help function,不知道回归细节就help regress,多读help文件!gen/egen:最常用的建立函数的命令,这两个不同之处在于gen一般是初等函数,egen的函数会复杂一些。

常用的函数包括数学函数和其他函数,比如count/tag之类,建议直接到菜单里Data下Create data的create new variable或create new variable(extended)直接生成函数,会方便的多。

mean/abs/sqrt/max/min/sum/sd:常用数学函数,分别是求均值、绝对值、方根、最大最小、求和、方差用的。

keep if/drop if:这两个也是最常用的,在数据需要进行筛选的时候,两个命令的区别也很明显,keep是留下哪些,drop是去掉哪些。

STATA 常用命令

STATA 常用命令

目录STATA 常用命令 (2)一、基本运算 (2)二、数据处理 (3)三、数据导入导出 (3)四、描述性统计 (4)五、相关系数 (4)六、t检验 (4)七、非参数检验Wilcoxon (4)八、多元线性回归 (4)九、面板数据多元回归 (4)十、Logit回归 (5)十一、主成分分析与因子分析 (5)十二、PSM(倾向性匹配) (5)十三、内生性检验 (6)十四、DID (双重差分模型) (6)十五、作图 (7)十六、错误修正 (7)十七、应用技巧 (7)STATA 常用命令一、基本运算2.新变量产生1至n(行数)的变量:gen z=_n新变量赋值:gen y=log(x) if x>0gen y=seq(x)gen y=rmean(x)gen y=x+zDummy 变量:gen d=1 if x>1replace d=0 if x<=1自动生成年度(year)的Dummy变量:tabulate year, gen(Dyear)替换变量中的数值:replace x=0 if x<0更换变量名称:rename var1 x字符型变量转换为数值型:destring x, replace force(手动操作:选定变量=>右键=>数据)提取年度:gen ymd=date(date,”YMD”)format %td ymdgen year=year(ymd)提取字符:gen code=substr(x,1,1)3.变量处理一阶滞后变量:gen lag_x=L.x将所有变量的缺失值改为0:mvencode _all, mv(0) override去掉重复数值:duplicates drop x, force变量的标准化:egen x1=std(x)变量的缩尾处理:先安装:ssc install winsor, replacewinsor x , gen (x1) p(0.01)二、数据处理1.基本操作帮助:help ttestsearch ttest打开文件:use “ “查看:list x in 1/4展示数据集:describe (d)频率:tab x 或tab x y z命令窗口的执行命令:enter命令文件的执行命令:ctrl +D命令窗口换行:ctrl+enter清空内存(对新数据集开始检验时先清除原数据):clear点击历史窗口,可以将已执行的命令重新恢复为待执行的命令从小到大排列:sort x从大到小排列:gsort -x删除变量:drop x删除若干行:drop in 10/12删除前3行:drop in 1/3删除负数行:drop if x<0删除缺失值:drop if x==.删除不等于C的值:drop if x~=“C”保留变量x和y,删除其他变量:keep x y保留若干行,删除其他行:keep in 10/12保存:save “ 路径” , replace2.数据集合并横向合并:merge x y using “ “纵向合并:append using “ “按一个变量合并:merge 1:m code using "E:\Research\STATA\income.dta"drop _merge按两个变量合并:merge 1:1 code year using "E:\Research\STATA\income.dta"drop _merge3.三、数据导入导出1.Data=>data editor (改为数值型)=>将excel数据粘贴到data editor2.直接导入excel数据,并把第一行作为变量名称:import excel “路径”, firstrow clear3.导入stata 数据集:use “ ”4.导出: 安装asdoc: ssc intall asdoc, replace然后回归分析时:asdoc reg y x在结果窗口点击:Myfile.doc四、描述性统计1.summarize x2.su x3.su x if x>204.su 后不输入具体变量,则对全体变量进行描述性统计。

stata基础命令

stata基础命令

stata基础命令Stata基础命令Stata是一种功能强大的统计分析软件,广泛应用于学术研究和商业分析领域。

本文将介绍Stata的一些基础命令,帮助读者快速掌握Stata的使用方法。

1. 数据导入与查看命令在Stata中,可以使用"import"命令将外部数据导入到Stata的工作环境中。

例如,可以使用"import excel"命令导入Excel表格中的数据,或使用"import delimited"命令导入以逗号分隔的文本文件。

导入数据后,可以使用"browse"命令查看数据集的内容,或使用"describe"命令查看数据集的结构信息。

2. 数据清洗与变量处理命令在进行数据分析之前,通常需要对数据进行清洗和变量处理。

Stata 提供了一系列命令来完成这些任务。

例如,可以使用"drop"命令删除不需要的变量或观察值,使用"rename"命令修改变量名,使用"generate"命令创建新的变量,使用"recode"命令对变量进行重新编码等。

3. 描述性统计与绘图命令Stata提供了各种命令来计算和展示数据的描述性统计信息。

例如,可以使用"summarize"命令计算变量的均值、标准差和分位数等统计量,使用"tabulate"命令生成变量的频数表,使用"histogram"命令绘制变量的直方图,使用"scatter"命令绘制两个变量的散点图等。

4. 统计模型与假设检验命令在Stata中,可以使用各种命令来拟合统计模型和进行假设检验。

例如,可以使用"regress"命令拟合线性回归模型,使用"logit"命令拟合二元Logistic回归模型,使用"anova"命令进行方差分析,使用"ttest"命令进行两样本t检验等。

Stata基本命令

Stata基本命令

Stata基本命令一、描述性统计命令:sum(var1 var2)二、独立样本t检验命令:ttest var1, by(group)三、回归(一)检测变量是否需要加对数1、C-D方程中基本都要加对数,除了0-1的小数和离散变量命令:gen lnvar1=log(var1),若var1有零值,则gen lnvar1=log(var1+1) 2、其他方程的变量检测(1)sktest var1,若PT(skewness)>0.05,则呈正态分布,不用加对数(2)ladder var1,若P(chi2)越大,就选这种形式。

(二)构建面板数据命令:xtset county year(三)回归1、随机效应模型命令:xtreg y var1 var2 DID t_2008 t_2007 t_2006 t_2005 south north,re 2、固定效应模型(地区变量不需要放进去)命令:xtreg y var1 var2 DID t_2008 t_2007 t_2006 t_2005,fe3、随机效应模型和固定效应模型的结果只能两者选其一,方法是Hausman检验,做法如下:第一步:固定效应模型回归 xtreg y var1 var2 DID t_2008 t_2007 t_2006 t_2005,fe第二步:存储固定效应值 est store fe第三步:随机效应模型回归 xtreg y var1 var2 DID t_2008 t_2007 t_2006 t_2005 south north,re第四步:存储随机效应值 est store re第五步:检测 hausman fe re,看prob>chi2的结果,若显著,则选择固定效应模型。

(一般都是选择固定效应模型)四、注意数据的保存和命令的保存Do命令的保存,可以使用英文的””在里面加注释。

STATA最常用命令大全

STATA最常用命令大全

statasave命令File&#61672;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常用15条命令

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)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

display 命令display “1+1”输出为1+1display 1+1 输出为2set mem设置内存set mem 500m,perm 设置内存为500mset matsize 500 设置matsize为500query memory 查看内存设置保留和删除变量keep & dropdrop crcd repttype 删除crcd repttypekeep stkcd stknme nindcd nnindcd 保留stkcd stknme nindcd nindcd (注意命令的大小写)save保存stata格式的数据save “D:\Teach课件\STATA\data\CG_Co.dta “新建文件名save “D:\Teach课件\STATA\data\CG_Co.dta ”,replace 重置已有文件use&insheet usinguse 打开dta文件,insheet using打开csv文件gen生成的新的变量gen tdate=date(accper,"YMD") 产生一个tdate变量用来存放从accper变量中提取的年月日format tdate %d 设置tdate为整数型变量gen year=year(tdate) 提取tdate里面的年份存为year变量gen month=month(tdate) 提取tdate里面的月份存为month变量if条件句&tab离散变量的频率keep if month==12 如保留变量month等于12的数据(注意双等号)tab year 画出变量year的离散频率纵向添加数据appenduse TRD_Year2011.dta,clear 打开2011的数据文件append using TRD_Year2012.dta 向2011的数据文件中纵向加入2012的数据文件*注意2012内的文件变数量与变数名必须相同,若不同,用keep或drop 保留或删除merge文件合并use TRD_Year2011_2012.dta,clear 打开该数据文件sort stkcd year 排列一下要合并文件内的数据顺序stkcd和year均为变量名save TRD_Year2011_2012.dta,replace 排列后重新储存该数据文件use FS_Combas.dta,clear 打开要合并的数据文件sort stkcd year 同样排列一下要合并的数据顺序merge 1:1 stkcd year using TRD_Year2011_2012.dta 合并该文件(FS_Combas)和上一文件(TRD_Year2011_2012)内的stkcd和year两个变量save bas_TRD,replace 排列后要记得储存do文件用法(这个练习一下,别考试的时候慌了,没保存考试成绩就没了哦)将字符型转换成数字型或相反destring & tostringtostring year, gen(yearstr) 新建一个变量yearstr用来储存转换为字符形的yeardestring yearstr, gen(yearnum) 新建一个变量yearnum用来储存转换为字符形的yearbr yearstr yearnum 用列表形式查看变量yearstr和yearnum压缩数据空间compressgen new=1 新建一个等于1的变量newdes new 查看变量new的数据类型(为double双精度型长度为8bytes)compress new 压缩变量newdes new 再次查看new的数据类型(为byte字符型长度为1bytes)存储类型• %9.0g:一般格式–共占九位(右起),不指定小数点位。

•%-9.0g:一般格式–共占九位(左起),,不指定小数点位。

•%9.2f:固定格式–共占九位,指定小数点后面保留两位。

•%10.7e–科学计数法,共10位,E后面占7位。

list a001000000 in 1/8 列出a001000000里的个数据format a001000000 %20.0g 取a001000000中所有数据的后20位数format a001000000 %-20.2f 取a001000000中所有数据的20位数其中小数点要取后两位确定样本期间keep if year>=2006 取已打开文件内的的所有变量year大于等于2006的样本生成哑变量gen duality=0 建立变量duality并且等于0replace duality=1 if y1001b==1 若变量y1001b等于1则duality等于1(这样变量duality不等于1 便等于0,因此它是哑变量)保存命令的结果returnsum top1,d 建立top1的概括统计量(d的意思是详细的显示出来)return list 建立的统计量会保存在r()里,这个语句可查看所有的统计量gen top1_d2=0 建立哑变量top1_d2并设为0replace top1_d2=1 if top1>r(p50) & top1!=. 如果top1大于s统计量的50百分位并且top1不为空的话,将top1_d2置1 tab top1_d2 显示top1_d2的离散频率从字符变量里提取信息substr:ex)生成行业变量:capture drop indu 删除变量indu(capture是为了让dofile继续执行,没有特殊含义)gen indu=substr(nindcd,2,4) 从nindcd字符串的第二位开始提取4位字符,将提取的字符存在名为indu的变量内replace indu=substr(nindcd,1,2) if indu=="C" 如果indu等于大写的C那么indu的值为nindcd里面的第1位到第2位tab nindcd 查看nindcdtab indu 查看induegen为gen的拓展by year,sort: egen topmedian=median(top1) 建立一个变量名为topmedian的变量用来存放top1的中值并按year排序生成分类变量autocode & xtile:gen topone_categ1=autocode(top1,10,0,1) 从top1里面取大于0小于1的10个数据,存在topone_categ1里面xtile topone_categ2=top1, nquantiles(10) 将top1里面的数据按个数分为10组,并存在topone_categ2里排序变量sort & gsort:sort yclsprc 从小到大排序yclsprcsort year yclsprc 从小到大排序year和yclsprcgsort +yclsprc 从小到大排序yclsprcgsort +year –yclsprc 从小到大排序year 从大到小排序yclsprcgsort year indu –ROA 排序by year indu ,sort:gen indu_num1=_n 建立变量indu_num1来存放每组indu的序号(这里year和indu的顺序换一下的话,indu_num1就变成了每组year的序号)by year indu ,sort:gen indu_num2=_N 建立变量indu_num2来存放每组indu的总个数br year indu ROA indu_num1 indu_num2 用列表显示year indu ROA indu_num1 indu_num2删除重复值:sort stkcd year 排序drop if stkcd==stkcd[_n-1] & year==year[_n-1] 如果stkcd并且year有重复的话删除计算业绩波动sort stkcd year 排序gen roa_l1=ROA[_n-1] if stkcd==stkcd[_n-1] 如果stkcd的值与上一个栏相同,那么将该上一栏重复值对应的ROA值存入新建变量roa_|1gen roa_l2=ROA[_n-2] if stkcd==stkcd[_n-2] 如果s t k c d的值与上两栏相同,那么将该上两栏重复值对应的ROA值存入新建变量roa_|1egen roasd=rowsd(roa_l1 roa_l2 ROA 将(roa_l1)(roa_l2)(ROA)的方差存在roasd里面检查数据是否有异常sumsum ROA ROE EPS TOPINQ MB top1 sep inddir lev duality size statesum ROA ROE EPS TOPINQ MB top1 sep inddir lev duality size state,d处理异常值winsor ROA, gen(ROA1) h(10) 新建一个ROA1来储存处理后的ROAwinsor ROA, gen(ROA2) p(0.01)winsor ROA, gen(ROA3) p(0.01) highonlysum ROA1 ROA2 ROA3,d这是help对p(),h()一类的描述,注意gen()是必须的,并且p()内的值必须在0到0.5之间,h()内的值必须大于1但要小于检测到错误值数量的一半,也就是之前sum检测到的错误值数量。

筛选样本、交待选择过程gen n=0 新建变量n等于0replace n=1 if indu=="I" 将所有indu内部等于大写I的值对应的n都设为1egen dum=rmiss(ROA ROE EPS TOPINQ MB top1 sep inddir lev duality size state)dum表示以上这些变量的同一行中缺失值的个数replace n=2 if dum!=0 如果缺失值不为0那么将n置2tab year n 按年份显示n的值tab indu n 按indu来显示n的值贴标签label data "股权结构与公司业绩" 就是在变量后面附上说明label var ROA "资产收益率"log 文件开启,关闭,储存描述统计sum top1 top1的统计量sum top1,d top1统计量的详细显示sum top1 state top1和state的统计量summarize _all 已打开文件内所有数据的统计量sum top1 if year==2010 2010年的top1的统计量by year,sort: sum top1 按year的顺序排练top1的统计量by state,sort: sum top1 按state的顺序排列top1的统计量&表示且,and;|表示或,or;==代示恒等于,!=代示不等于离散变量的频率统计tab state 显示state的离散表格tab state if year==2010 显示year为2012的state的离散表格by year, sort: tab state 按year的顺序显示state的离散表格tab state top1_d,col 显示top1和state的离散表格并显示纵列的频率tab state top1_d,row 显示top1和state的离散表格并显示横排的频率报告分位数及其置信区间centilecentile 显示已打开文件内部所有变量的置信空间和百分位centile top1 显示top1的置信空间和百分位centile top1, centile(5 50 95) 显示top1第5个百分位,第50个百分位和第95个百分位的置信空间centile top1, centile(20(10)90) 显示top1第20个,第30个,第40个。

相关文档
最新文档