Stata命令整理
stata命令大全(全)

*
*-- F(4,373) = 855.93检验除常数项外其他解释变量的联合显著性
*-- corr(u_i, Xb)=-0.2347
*-- sigma_u, sigma_e, rho
* rho = sigma_uA2/(sigma_uA2+sigma_eA2)
*空间计量分析:SLM模型与SEM模型
*说明:STATA与Matlab结合使用。常应用于空间溢出效应(R&D)、财政 分权、地方政府公共行为等。
、常用的数据处理与作图
*指定面板格式
xtset id year(id为截面名称,year为时间名称)
xtdes /*数据特征*/
xtsum logy h /*数据统计特征*/
drop if id==2/*注意用==*/
*如何得到连续year或id编号(当完成上述操作时, 为形成panel格式,需要用egen命令)
ege n year_ new二group(year)
xtset id year_ new
**保留变量或保留观测值
keep inv /*删除变量*/
**或
keep if year==2000
dis e(sigma_u)A2/(e(sigma_u)A2+e(sigma_e)A2)
个体效应是否显著?
*F(28,373) =338.86 HO: al=a2 = a3 = a4 = a29
*Prob > F = 0.0000表明,固定效应高度显著
*---如何得到调整后的R2即adj-R2?
ereturn list
考虑中国29个省份的C-D生产函数
stata命令大全(全)

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命令大全(全)

*********面板数据计量分析与软件实现*********说明:以下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命令总结.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命令大全(全)

********* 面板数据计量分析与软件实现 *********说明:以下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命令大全(全)

********* 面板数据计量分析与软件实现 *********说明:以下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)变量排序,当变量太多,按规律排列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。
如果要计算前10 台车中的国产车的平均价格,则可将范围和条件筛选联合使用。
. sum price in 1/10 if foreign==05、[weight] 加权sum score [weight二num] 其中,num为每个成绩所对应的人数6、[, options] 其他可选项例如,我们不仅要计算平均成绩,还想知道成绩的中值,方差,偏度和峰度等*/. sum score, detail. sum score, d //d 为detail 的略写,两个命令完全等价. list price, nohead // 不要表头Stata 数据类型转换1、字符型转化成数值型destring, replace // 全部转换为数值型,replace 表示将原来的变量(值)更新destring date, replace ignore( “ ”) 将字符型数据转换为数值型数据:去掉字符间的空格destring price percent, gen(price2 percent2)ignore( “$ ,%”) 与date 变量类似,变量price 前面有美元符号,变量percent 后有百分号,换为数值型时需要忽略这些非数值型字符2、数值型转化为字符型tostring year day, replace // 将年和日转化为字符型gen date1=month+”/”+day+”/”+year //month day 变为字符型后可以运算,将 ___ 年__月__日构成一个新的日期变量gen date2=date(date1, ”mdy”) /* date ()为日期函数,它以1960 年 1 月 1 日为第0 天,计算从那天起直到括号中指定的某天datel —共过了多少天。
” mdV指定datel的排列顺序,这里是按照月日年的顺序来表示日期。
*/数据显示格式/*format 只控制数据的显示格式,并不改变内存中数据的大小。
*/变量的格式为%14s,表示右对齐,共14个字符,%为固定用法(字符变量跟s,数值变量跟g)ormat state %-14s // 该命令使stata 的显示格式左对齐,14前面多了个负号format pop %11.0gc /*pop 的显示格式为%11.0g, 后面加上c, 则每三位数间用逗号分开,c 为comma 的意思.*/format medage %8.1f // 要求所有的medage 都显示一位小数format id %05.0f // 对于编号,我们希望前面用零使得位数对齐,通过在前面补零,所有的id 都成了 5 位数。
导入/ 导出其他格式数据1、数据导入insheet using 3origin.csv/txt, clearinsheet using 3origin.txt, double clear 当数据中某个变量的位数特别长或者对导入数据的精度要求很高的时候,需要在该命令后面加double 选项。
2、数据导出outsheet using myresult.asc, nonames 如果不希望在第一行存储变量名,则可以使用nonames 选项outsheet using myresult.asc, nonames replace 如果文件已经存在,则需要使用replace 选项数据合并1、纵向合并use male, clear // 打开记录男生信息的数据文件male append using female // 将记录女生信息的female 文件追加到当前数据集中save mydata1, replace2、横向合并use economy,clear // 打开经济学成绩数据文件sort id // 按学号排序save economy, replace // 重新保存一下use student,c clear // 打开学生基本信息数据文件sort id // 按学号排序merge id using economy // 以学号为xx,将学生的信息和成绩一一对应对接tab _merge // 显示对接情况,3 表示成功对接,1 和2 表示未成功对接drop _merge // 去掉标识对接是否成功变量_mergeStata 很多命令可单独使用,单独使用时,一般是对所有变量进行操作,等价于后面加上代表所有变量的_all数据重整1、长宽转换宽:长:1)宽变长use mywide, clearreshape long math econom y, i(id n ame) j(year) II 变长save mylong, replace2)长变宽reshape wide*或者use mylong, clearreshape wide math econom y, i(id n ame) j(yearr) II 长变宽save mywide2, replace2、多列数据转为少数几列有些数据集虽然有很多列,但实际上只有一个变量,利用stata 转化成一项数据。
stack var1-var6, in to(x) clearx drop_stack变量stack记录观测值原来所在行数3、数据转置use math,clearxpose, clear变量运算:Stataxx,加(+ )号同样可用于字符运算,当加号出现在两个字符之间时,两个字符将被连成一个字符。
比如把”我爱”“ STAT A 合并在一起,命令为:.scalar a= ” 我爱” + “ STATA一些运算函数: 数据重整,宽数据重整,是新生成变量的名称comb(n,k)从n中取k个的组合fill() 自动填充数据int(x) 取整log10(x) 以10 为底的对数mod(x,y) 求余数round(x) 四舍五入di round(3.345,.1) // 四舍五入到十分位,结果为3.3di round(3.345,.01) // 四舍五入到百分位,结果为3.35di round(335.1,10) // 四舍五入到十位,结果为340 sqrt(x) 开更号substr(s,n1,n2)从S 的第n1 个字符开始,截取n2 个字符word(s,n) 返回s 的第n 个字符_n 当前观察值的序号N 共有多少观察值gen y=sum(x) // 求列累积和egen z=sum(x) // 求列总和egen avgx=mean(x) // 求列均值分离变量值clearinput str15 x10*123""543*21"12*422""43532*32134""4349*1"endstataxx ,系统缺失值大于任何一个数据,因此在生成分类哑变量时:egen byte dxy = diff(x y) // 若不相等为 1当x 与y 相等时,differ 取0,gen a=strpos(x,"*") // 计算出 * 所在的位数gen b=substr(x,1,a-1) // 取*前面的字符gen c=substr(x,a+1,.) // 取*后面的字符gen agegrp2=(age>=65) if age<. 生成的数据中,将缺失值排除在外生成分组变量:clearset obs 100 // 设定100 个观察值gen age=_n //生成一个假设的年龄变量age,依次取1 , 2 ,…,100recode age (min/30=1) (30/60=2) (60/max=3),gen(agegrp) /* 生成新的分组变量agegrp,当年龄age在30及以下时取值为1 ,30到60 为2,60 以上为3*/分组运算:by x, sort: gen n1=_n 根据x 的不同,生成n1 变量对不同类的x 计数by hhid,sort: egen mage=mean(age) // 根据不同类别求平均年bysort hhid (age): gen nid1=_n // 括号中的变量age 只排序,不参于分组。
bysort hhid age: gen nid2=_n // hhid 和ag e 都既用来参与排序也分组encode country, gen(country1) 将文本变量转化为数值变量display 5+9 显示计算结果sum price weight 描述统计:求价格和重量的观察值个数、平均值、标准差、最小值和最大值scatter price weight 绘出价格和重量的散点图line price weight, sort 绘出价格和重量的折线图clear 清除内存xx 有内容cd d:/stata9 在打开数据之前,先定位数据的位置use 打开STATA 格式的数据文件set obs 5 // 设定5 个观察值dir 查看当前路径下有哪些文件save mydata // 保存数据,数据文件名为mydatasave mydata, replace 如果同一文件夹下已经存有mydata.dta, 而你又要再次执行save mydata 时edit 编辑数据log 将输出结果存放入结果文件gen id=_n // 生成一个新变量id ,根据观测值排列顺序从上到下取值依次为123……replace id=9842 in 3 第三个观测的id 值改变compress // 压缩数据,使之在不损失任何信息的前提下占用空间最小erase mydata1.dta 删除文件,一定要带上后缀名。