常用到的stata命令

合集下载

STATA命令应用及详细解释

STATA命令应用及详细解释

STATA命令应用及详细解释1. summarize:该命令用于计算数值变量的描述性统计信息,包括均值、标准差、最小值、最大值等。

2. tabulate:该命令用于生成一个分类变量的频数和百分比表。

它可以计算单个变量的分布情况,也可以计算多个变量之间的交叉分布情况。

3. tabstat:该命令用于生成一个或多个数值变量的汇总统计信息,包括均值、标准差、中位数等。

与summarize命令相比,tabstat命令可以同时计算多个变量的统计量。

4. regress:该命令用于进行线性回归分析。

可以使用regress命令估计一个自变量和一个或多个因变量之间的线性关系,并生成回归系数、拟合优度等回归结果。

5. logistic:该命令用于进行逻辑回归分析。

逻辑回归分析常用于二分类问题,可以估计自变量对因变量的影响,并生成回归系数、odds比等结果。

6. ttest:该命令用于进行两样本独立样本的t检验。

可以比较两个独立样本的均值差异,并计算t值、p值等检验结果。

7. oneway:该命令用于进行单因素方差分析。

可以比较不同组别之间的均值差异,并进行方差齐性检验和多重比较。

8. twoway:该命令用于进行双因素方差分析。

可以同时比较两个因素及其交互作用对均值差异的影响,并进行方差齐性检验和多重比较。

9. nonparametric:该命令用于进行非参数统计分析。

包括Wilcoxon秩和检验、Kruskal-Wallis H检验、Mann-Whitney U检验等非参数假设检验方法。

10. generate:该命令用于创建一个新的变量,并根据已有变量和运算符生成新的值。

生成的变量可以用于后续的计算和分析。

11. replace:该命令用于替换数据集中指定变量的值。

可以根据条件语句来替换指定变量中的值。

12. bysort:该命令用于按照一个或多个变量的值对数据集进行排序,并按照排序后的次序执行其他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中,有许多命令可以用来汇总数据并提取关键统计信息,以便更好地理解和解释数据。

下面将介绍一些常用的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入门常用命令

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常用命令1. 生成变量1.1 gen生成新变量,可以是常数或基于其他变量的一般表达式。

1.2 replace替换已有变量的值。

生成专门函数如总和、均值、标准差等。

2. 数据子集保留指定的变量。

2.2 drop2.3 in子集数据只保留某些被满足条件的观察值。

更加灵活地较大判断条件。

3. 重塑数据3.1 wide将数据在垂直方向与一个变量进行“展开”(unstack)。

4. 数据合并将两个数据集根据一些共同变量进行合并。

5. 数据排序5.1 sort按顺序排列观测值。

5.2 by指定一组变量作为分类变量,然后对该变量使用stata命令。

6. 描述性统计和图形6.1 summarize描述数据集的基本信息。

6.2 tabulate生成列联表。

绘制直方图。

生成散点图。

6.5 twoway可用于绘制多元图形,包括线图、条形图、密度图等。

7. 频数用于表格中简单查看可以因为比较大的变量。

8. 回归分析8.1 regress线性回归分析。

8.2 logistic8.3 probit生成probit模型。

9. 时间序列9.1 tsset使用stata处理时间序列数据的第一步是指定数据集变量中的时间序列。

生成时间序列图。

10. 面板数据使Stata处理面板数据。

10.2 xtreg生成固定效应模型或随机效应模型。

11. 模型诊断使用模型生成新的预测值。

测试线性组合的系数的显著性。

12. 元分析进行元分析。

13. 子样本13.1 markin创建一个新文件并标记子样本。

标记子样本中的索引值。

以上就是stata常用命令,当然并不是所有的命令都一一列举,在实践用stata的经验中可以去发掘能否有更好的命令来使用。

常用到的stata命令

常用到的stata命令

安装estat:ssc install estout,replace\2010-10-14 11:38:15来自: 杨囡囡(all a woman lack is a wife)(转自人大论坛)调整变量格式:format x1 %10.3f ——将x1的列宽固定为10,小数点后取三位format x1 %10.3g ——将x1的列宽固定为10,有效数字取三位format x1 %10.3e ——将x1的列宽固定为10,采用科学计数法format x1 %10.3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 %10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐合并数据:use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge using "C:\Documents and Settings\xks\桌面\1999.dta"——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge id using "C:\Documents and Settings\xks\桌面\1999.dta" ,unique sort——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对id进行排序(sort)建议采用第一种方法。

对样本进行随机筛选:sample 50在观测案例中随机选取50%的样本,其余删除sample 50,count在观测案例中随机选取50个样本,其余删除查看与编辑数据:browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器)数据合并(merge)与扩展(append)merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目不变。

stata命令总结

stata命令总结

stata命令总结.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函数命令

stata函数命令

stata函数命令Stata是一种广泛使用的统计软件,它提供了许多函数命令来支持数据分析和建模。

在本文中,我们将为您介绍一些常用的Stata函数命令。

一、描述统计量命令1. summarize命令Summarize命令提供了基本的描述性统计信息,例如平均值、标准偏差、最小值、最大值等。

语法:summarize var1 var2 var3 ...2. tabulate命令Tabulate命令提供了分类变量的频率统计信息。

它可以将分类变量按不同的组合列出。

语法:tabulate var1 var2, row column3. correlate命令Correlate命令提供了变量之间的相关系数,并生成相关系数矩阵。

它可以帮助分析变量之间的关系。

语法:correlate var1 var2 var3 ...二、数据处理命令1. generate命令Generate命令可以创建新的变量或改变原始变量的值。

它可以计算变量的平均值、差异、百分位数、标准化等。

语法:generate newvar = function(oldvar)2. drop命令Drop命令可以删除Stata数据集中的变量。

它可以删除一列或多列变量。

语法:drop var1 var2 var3 ...3. keep命令Keep命令可以仅保留数据集中的变量。

它可以保留一列或多列变量。

语法:keep var1 var2 var3 ...三、数据分析和建模命令1. regress命令Regress命令可以用来拟合一个线性回归模型,它可以根据数据集的给定变量来预测因变量。

语法:regress depvar indepvar1 indepvar2 ...2. logistic命令Logistic命令可以用来拟合一个逻辑回归模型,它可以预测二元变量的概率。

语法:logistic depvar indepvar1 indepvar2 ...3. cluster命令Cluster命令可以用来构建聚类分析模型,它可以将样本分成互不干扰的群组。

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

常用到的sta命令闲话不说了。

help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。

如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在sta的命令行窗口中输入help空格加上这个名字。

回车后结果屏幕上就会显示出这个命令的帮助文件的全部内容。

如果你想知道在sta下做某个估计或某种计算,而不知道具体该如何实现,就需要用search命令了。

使用的方法和help类似,只须把准确的命令名改成某个关键词。

回车后结果窗口会给出所有和这个关键词相关的帮助文件名和链接列表。

在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。

耐心寻找,反复实验,通常可以较快地找到你需要的内容。

下面该正式处理数据了。

我的处理数据经验是最好能用sta的do文件编辑器记下你做过的工作。

因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。

能够重复前面的工作是非常重要的。

有时因为一些细小的不同,你会发现无法复制原先的结果了。

这时如果有记录下以往工作的do文件将把你从地狱带到天堂。

因为你不必一遍又一遍地试图重现做过的工作。

在sta窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bring do-file editor to front”,点击它就会出现do文件编辑器。

为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。

这里给出我使用的“头”和“尾”。

/*(标签。

简单记下文件的使命。

)*/capture clear(清空内存中的数据)capture log close(关闭所有打开的日志文件)set mem 128m(设置用于sta使用的内存容量)set more off(关闭more选项。

如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。

你按空格键后再输出下一屏,直到全部输完。

如果关闭则中间不停,一次全部输出。

)set matsize4000(设置矩阵的最大阶数。

我用的是不是太大了?)cd D:(进入数据所在的盘符和文件夹。

和dos的命令行很相似。

)log using(文件名).log,replace(打开日志文件,并更新。

日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。

)use (文件名),clear(打开数据文件。

)(文件内容)log close (关闭xx文件。

)exit,clear(退出并清空内存中的数据。

)这个do文件的“头尾”并非我的发明,而是从沈明高老师那里学到的。

版权归沈明高老师。

(待续)实证工作中往往接触的是原始数据。

这些数据没有经过整理,有一些错漏和不统一的地方。

比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。

回归时如果使用这些观察,往往得出非常错误的结果。

还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数据造成麻烦。

因此,拿到原始数据后,往往需要根据需要重新生成新的数据库,并且只使用这个新库处理数据。

这部分工作不难,但是非常基础。

因为如果在这里你不够小心,后面的事情往往会白做。

假设你清楚地知道所需的变量,现在要做的是检查数据、生成必要的数据并形成数据库供将来使用。

检查数据的重要命令包括codebook,su,ta,des和list。

其中,codebook提供的信息最全面,缺点是不能使用if条件限制范围,所以,有时还要用别的帮帮忙。

su空格加变量名报告相应变量的非缺失的观察个数,均值,标准差,最小值和最大值。

ta空格后面加一个(或两个)变量名是报告某个变量(或两个变量二维)的取值(不含缺失值)的频数,比率和按大小排列的累积比率。

des后面可以加任意个变量名,只要数据中有。

它报告变量的存储的类型,显示的格式和标签。

标签中一般记录这个变量的定义和单位。

list报告变量的观察值,可以用if或in来限制范围。

所有这些命令都可以后面不加任何变量名,报告的结果是正在使用的数据库中的所有变量的相应信息。

说起来苍白无力,打开sta亲自实验一下吧。

顺带说点儿题外话。

除了codebook之外,上述统计类的命令都属于r族命令(又称一般命令)。

执行后都可以使用return list报告储存在r()中的统计结果。

最典型的r族命令当属summarize。

它会把样本量、均值、标准差、方差、最小值、最大值、总和等统计信息储存起来。

你在执行su之后,只需敲入return list就可以得到所有这些信息。

其实,和一般命令的return命令类似,估计命令(又称e族命令)也有ereturn命令,具有报告,储存信息的功能。

在更复杂的编程中,比如对回归分解,计算一些程序中无法直接计算的统计量,这些功能更是必不可少。

检查数据时,先用codebook看一下它的值域和单位。

如果有-9,-99这样的取值,查一下问卷中对缺失值的记录方法。

确定它们是缺失值后,改为用点记录。

命令是replace (变量名)=. if (变量名)==-9。

再看一下用点记录的缺失值有多少,作为选用变量的一个依据。

得到可用的数据后,我会给没有标签的变量加上注解。

或者统一标签;或者统一变量的命名规则。

更改变量名的命令是ren(原变量名)空格(新变量名)。

定义标签的命令是label var(变量名)空格”(标签内容)”。

整齐划一的变量名有助于记忆,简明的标签有助于明确变量的单位等信息。

如果你需要使用通过原始变量派生出的新变量,那么就需要了解gen,egen 和replace这三个命令。

gen和replace常常在一起使用。

它们的基本语法是gen (或replace)空格(变量名)=(表达式)。

二者的不同之处在于gen是生成新变量,replace是重新定义旧变量。

虚拟变量是我们常常需要用到的一类派生变量。

如果你需要生成的虚拟变量个数不多,可以有两种方法生成。

一种是简明方法:gen空格(变量名)=((限制条件))[这外面的小括弧是命令需要的,里面的小括弧不是命令需要的,只是说明“限制条件”并非命令]。

如果某个观察满足限制条件,那么它的这个虚拟变量取值为1,否则为0。

另一种要麻烦一点。

就是gen (变量名)=1 if(取值为一限制条件)replace(相同的变量名)=0 if(取值为零的限制条件)两个方法貌似一样,但有一个小小的区别。

如果限制条件中使用的变量都没有任何缺失值,那么两种方法的结果一样。

如果有缺失值,第一种方法会把是缺失值的观察的虚拟变量都定义为0。

而第二种方法可以将虚拟变量的取值分为三种,一是等于1,二是等于0,三是等于缺失值。

这样就避免了把本来信息不明的观察错误地纳入到回归中去。

下次再讲如何方便地生成成百上千个虚拟变量。

大量的虚拟变量往往是根据某个已知变量的取值生成的。

比如,在某个回归中希望控制每个观察所在的社区,即希望控制标记社区的虚拟变量。

社区数目可能有成百上千个,如果用上次的所说的方法生成就需要重复成百上千次,这也太笨了。

大量生成虚拟变量的命令如下;ta (变量名), gen((变量名))第一个括号里的变量名是已知的变量,在上面的例子中是社区编码。

后一个括号里的变量名是新生成的虚拟变量的共同前缀,后面跟数字表示不同的虚拟变量。

如果我在这里填入d,那么,上述命令就会新生成d1,d2,等等,直到所有社区都有一个虚拟变量。

在回归中控制社区变量,只需简单地放入这些变量即可。

一个麻烦是虚拟变量太多,怎么简单地加入呢?一个办法是用省略符号,d*表示所有d字母开头的变量,另一法是用破折号,d1-d150表示第一个到第150个社区虚拟变量(假设共有150个社区)。

还有一种方法可以在回归中直接控制虚拟变量,而无需真的去生成这些虚拟变量。

使用命令areg可以做到,它的语法是areg (被解释变量)(解释变量), absorb(变量名)absorb选项后面的变量名和前面讲的命令中第一个变量名相同。

在上面的例子中即为社区编码。

回归的结果和在reg中直接加入相应的虚拟变量相同。

生成变量的最后一招是egen。

egen和gen都用于生成新变量,但egen的特点是它更强大的函数功能。

gen可以支持一些函数,egen支持额外的函数。

如果用gen搞不定,就得用egen想办法了。

不过我比较懒,到现在为止只用用取平均、加和这些简单的函数。

有的时候数据情况复杂一些,往往生成所需变量不是非常直接,就需要多几个过程。

曾经碰到原始数据中记录日期有些怪异的格式。

比如,1991年10月23日被记录为。

我想使用它年份和月份,并生成虚拟变量。

下面是我的做法:gen yr=int(date)gen mo=int((data-yr*100)/100)ta yr, gen( yd)ta mo, gen( md)假设你已经生成了所有需要的变量,现在最重要的就是保存好你的工作。

使用的命令是save空格(文件名),replace。

和前面介绍的一样,replace选项将更新你对数据库的修改,所以一定要小心使用。

最好另存一个新的数据库,如果把原始库改了又变不回去,就叫天不应叫地不灵了。

相关文档
最新文档