[推荐] 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大神不虐..),所以就只写了一部分常用的,有时间后面再补充吧。
主要就是分为基本操作和回归统计两部分: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】常用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 max sd), 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常用命令总结
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基本操作汇总——常用命令
[推荐]Stata基本操作汇总——常用命令文/crystal8832来源:经管之家论坛,感谢作者授权转载本文信息量有点大,里面涉及的help以及search命令对于查找帮助,实证分析过程中变量整理,数据清洗等用到的codebook,su,ta,des和list等命令,都是常用的,另外提到了r 族命令和e族命令,小编后期会专题介绍。
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 more off (关闭more选项。
STATA最常用命令大全
statasave命令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命令总结.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基础入门零基础实用命令整理第一章数据的读入与熟悉1.读入文件中的部分变量. use[变量] using [文件名]Eg . use age sex height weight using [文件名]2.读入文件中的部分观察量. use[文件名] in X/Y. use "I:\stata\chapter3.dta" in 601/1000软件只读入从第601个观察到第1000个观察之间的400个观察量3.描述、管理数据的基本命令命令功能. describe描述数据的基本情况:样本总量、变量总数、变量的格式等. list. list [变量名]-列出数据中所有变量的分布,从第一个样本到最后一个样本-列出选定变量的分布. list [变量名] in X/Y 列出数据中被选定的变量分布。
in限定数据的观察值范围。
比如,若只想查看第100个-200个观察值的分布,则将X/Y替换成100/200. order [变量名]按选定变量排序。
比如,样本的编号、年龄、性别、教育程度,……,等. aorder 将所有变量从 a-z 排序. label variable给变量贴上标签命令功能. sort [变量名] -将某个变量的数值进行排序。
一般情况下,排序的方式是从小到大-可同时排序多个变量-Stata将缺失值描述为最大数值,故排列在最后. sort [变量名] [in] 对某些变量的某个取值范围进行排序;没有指定的取值范围保持在原地方. gsort [+|-][变量名] -可从小到大和从大到小-若变量名前没有任何符号或加上+号,则按升序排列;若在变量名前加上-号,则按降序排列-变量可以是数值型、也可以是字符型. gsort [+|-][变量名] ,mfirst -mfirst指定将缺失值置于所有有效数值之前. gsort -age第二章变量的生成与处理1.离散和连续测量离散方式(discrete measure):由定性测量和定序测量组成;适用于低层次数据连续方式(continuous measure):由定距测量和定比测量组成。
stata入门常用命令
stata入门常用命令
Stata是一款广泛应用于数据分析、统计建模和数据可视化的软件,它具有操作简单、图形化界面、支持多种数据格式等优点,因此备受研究者和学者的青睐。
下面是一些Stata入门常用命令的介绍: 1. 数据读取命令:insheet, infile
insheet命令可以读取Excel表格中的数据,并将其导入Stata,infile命令可以读取纯文本文件中的数据。
2. 数据清理命令:drop, rename, recode, generate
drop命令可以用于删除不需要的变量和观测,rename命令可以修改变量的名称,recode命令可以将变量的取值进行重新编码,generate命令可以生成新的变量。
3. 描述性统计命令:summarize, tabulate, graph
summarize命令可以输出变量的基本统计量,如均值、中位数、标准差等,tabulate命令可以制作交叉表格,graph命令可以制作各种图形,如直方图、散点图等。
4. 回归分析命令:regress, logistic, probit
regress命令可以进行线性回归分析,logistic命令可以进行二元Logistic回归分析,probit命令可以进行二元Probit回归分析。
5. 面板数据分析命令:xtreg, xtlogit, xtpoisson
xtreg命令可以进行面板数据的线性回归分析,xtlogit命令可以进行面板数据的二元Logistic回归分析,xtpoisson命令可以进行面板数据的Poisson回归分析。
以上是一些Stata入门常用命令的介绍,这些命令可以帮助研究者和学者进行数据分析、统计建模和数据可视化等工作。
stata常用命令资料
stata常用命令资料Stata是一种广泛使用的统计分析软件,它提供了丰富的数据处理、统计计算和图形绘制功能。
下面是一些常用的Stata命令及其用法,以帮助您更好地使用Stata进行数据分析。
1. 数据导入与导出- `import excel:从Excel文件中导入数据。
- `import delimited:从文本文件中导入数据。
- `save:保存当前数据集。
- `use:加载已保存的数据集。
- `export excel:将数据导出到Excel文件。
2. 数据处理与清洗- `drop:删除变量或观察。
- `keep:保留指定变量或观察。
- `rename:重命名变量。
- `egen:生成新变量,如求和、平均值等。
- `egen group:按照指定的变量进行分组。
3. 描述统计- `summarize:计算变量的描述统计量,如均值、标准差等。
- `tabulate:制表统计,用于计算分类变量的频数和百分比。
- `histogram:绘制直方图。
- `correlate:计算变量之间的相关系数。
- `egen:生成新的汇总统计量,如总和、均值等。
4. 统计模型- `regress:线性回归分析。
- `logit:二项逻辑回归分析。
- `probit:概率回归模型。
- `ttest:单样本或双样本t检验。
- `anova:方差分析。
5. 数据可视化- `scatter:绘制散点图。
- `line:绘制折线图。
- `bar:绘制柱状图。
- `histogram:绘制直方图。
- `graph combine:将多个图形合并为一个图形。
6. 数据管理- `sort:对数据进行排序。
- `merge:合并两个数据集。
- `reshape:改变数据集的结构。
- `append:将多个数据集追加到一个数据集中。
- `collapse:将数据按照指定的变量进行折叠。
7. 循环与条件语句- `foreach:循环变量的值。
stata基本命令
stata基本命令
Stata是一种数据分析软件,常用于统计分析、经济学和社会科学研究中。
以下是一些Stata基本命令的解释:
1. use命令:用于打开数据文件,例如:“use data.dta”。
2. describe命令:用于查看数据文件的结构和变量信息,例如:“describe data”。
3. summarize命令:用于统计变量的描述性统计量(如均值、标准差、最大最小值等),例如:“summarize var1 var2”。
4. tabulate命令:用于制作交叉表和频数表,例如:“tabulate var1 var2”。
5. regress命令:用于进行回归分析,例如:“regress depvar indepvar”。
6. scatter命令:用于制作散点图,例如:“scatter depvar indepvar”。
7. histogram命令:用于制作直方图,例如:“histogram var”。
8. twoway命令:用于制作多种类型的图表,例如:“twoway scatter
depvar indepvar”。
9. merge命令:用于将两个数据文件按照某一变量合并,例如:“merge 1:1 var using data.dta”。
10. sort命令:用于对数据文件按照某一变量进行排序,例如:“sort var”。
以上是Stata基本命令的简单解释,使用这些命令可以进行数据的读取、处理和分析。
在实际应用中,还需要结合具体情况选择合适的命令进行使用。
stata入门操作总结
stata入门操作总结Stata是一种流行的统计分析软件,可以用于数据管理、统计分析和绘图。
以下是一些Stata入门操作的总结:1. 数据导入和导出:使用`use`命令导入Stata数据文件(.dta 文件),使用`import delimited`命令导入CSV或其他格式的数据文件。
使用`save`命令将数据保存为Stata数据文件,使用`export delimited`命令将数据保存为CSV或其他格式的数据文件。
2. 数据清理和转换:使用`drop`命令删除变量或观察值,使用`rename`命令重新命名变量,使用`generate`命令创建新变量,使用`egen`命令计算聚合统计量。
使用`sort`命令对数据进行排序,使用`replace`命令替换变量的值。
3. 描述统计:使用`summarize`命令计算变量的均值、标准偏差和其他描述统计量,使用`tabulate`命令制表并计算分组统计量,使用`histogram`命令绘制直方图,使用`scatter`命令绘制散点图。
4. 统计分析:使用`regress`命令进行线性回归分析,使用`logit`命令进行二元logistic回归分析,使用`probit`命令进行二元probit回归分析,使用`anova`命令进行方差分析。
使用`ttest`命令进行均值差异检验,使用`chi2`命令进行卡方检验。
5. 绘图:使用`graph`命令绘制各种图形,如折线图、柱状图、散点图和箱形图。
使用`twoway`命令绘制多元图形,如多个线条、散点和拟合线。
6. 循环和条件:使用`forvalues`命令进行循环操作,使用`if`命令进行条件筛选。
使用`foreach`命令在多个变量上执行相同的操作。
以上是Stata入门操作的一些总结,但这只是一个基本的概述。
Stata功能非常强大,可以进行更复杂的数据管理和统计分析操作。
要更全面地了解Stata的功能和用法,建议参考Stata的官方文档或参加Stata的培训课程。
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命令总结,推荐文档
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常用命令总结
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 变量名:绘制直方图。
- graph twoway line 变量1 变量2:绘制折线图。
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基本操作入门1.数据导入在STATA中,可以导入多种格式的数据文件,如Excel、CSV和文本文件。
最常用的命令是"import excel"和"import delimited"。
例如,要导入名为"data.xlsx"的Excel文件,可以使用以下命令:```import excel using "data.xlsx", sheet("Sheet1") firstrow clear```这里,"using"指定了文件路径和文件名,"sheet"指定了工作表名称(如果有多个工作表),"firstrow"表示第一行是变量名。
2.数据清洗在导入数据后,通常需要进行数据清洗,包括处理缺失值、异常值和重复值等。
STATA提供了一些常用的命令来处理这些问题。
- 缺失值处理:使用"drop"命令删除带有缺失值的观测值,使用"egen"命令创建新变量来表示缺失值。
- 异常值处理:可以使用描述性统计命令(如"summarize")来查找异常值,并使用"drop"命令删除异常值所对应的观测值。
- 重复值处理:使用"deduplicate"命令删除重复的观测值,或使用"egen"命令创建新变量来表示重复值。
3.变量操作在STATA中,可以对变量进行各种操作,如创建变量、重命名变量、计算变量和合并变量等。
- 创建变量:可以使用"generate"命令创建新变量,并赋予其数值或字符值。
- 重命名变量:使用"rename"命令将变量重命名为新的名称。
- 计算变量:使用"egen"命令计算新变量,例如,可以使用"egen mean_var = mean(var)"计算变量"var"的均值,并将结果赋值给新的变量"mean_var"。
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回归分析。
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常用命令100条
Stata常用命令100条数据管理设置工作路径:cd导入间隔符为制表符或逗号等格式的文本文件:insheet 导入固定列格式的文件:infix导入自由格式的文本文件:infile导入XML格式文件:xmluse更改变量的存储格式:recast建立新变量:generate或egen重命名变量rename变量排序:order删除变量或观测值:drop生成分类变量:recode字符串与数值变量间转换:destring或encode升序或降序排列:gsort升序排列:sort检查数据是否存在重复观测值:isid报告、标记或删除重复观测值:duplicates长数据与宽数据间转换:reshape生成变量的统计指标数据:collapse横向合并数据:merge纵向添加数据:append根据组内配对合并变量:joinby标量:scalar随机抽样:sample有放回的抽样:bsample从多元正态分布随机变量中抽样:drawnorm 生成特定相关结构的变量:corr2data统计制图直方图:histogram一般绘图命令:graph或twoway对称图:symplot分位数图:quantile正态分布分位数图:qmormQQ分位数图:qqplot标准化正态概率图:pnorm卡方概率图:pchi37条外部命令:传送门描述统计数据概要描述:summarize或describe生成汇总统计表:tabstat或tabulate相关性:correlate或pwcorr假设检验t检验:ttest方差检验:sdtest比率检验:prtest二项概率检验:bitestK-S检验:ksmirnov符号检验:signtestWilcoxon符号秩检验:signrankWilcoxon秩和检验:ranksumKruskal-Wallis:H检验:kwallis方差分析方差分析:anova单因素方差分析:oneway多元统计分析主成分分析:pca主成分散点图:loadingplot因子分析:factor因子旋转:rotate模型适切度检验:estat smc及estat anti及estat kmo 计算主成分得分或因子得分:predict碎石图:screeplot聚类分析:cluster典型相关分析:canon回归分析OLS线性回归:regress受约束的线性回归:cnsreg非线性最小二乘估计:nl多变量回归:mvreg似不相关回归:suregProbit回归:probitLogistic回归:logit定序probit模型:oprobit定序logit模型:ologit归并模型:cnregTobit模型:tobit多层线性模型:mixed泊松回归:poisson负二项回归:nbreg时间序列分析定义时间序列:tssetARIMA,ARMAX和其它动态回归模型:arima 自相关:ac偏自相关:pac预测:predict时间序列图:tsline蒙特卡罗模拟:simulateADF单位根检验:dfullerPP单位根检验pperronDF-GLS单位根检验:dfgls跨相关图:xcorr结构向量自回归模型:svar自回归条件异方差模型:arch门限回归:threg状态空间模型:sspace面板数据分析定义面板:xtset面板数据结构:xtdescribe面板OLS模型:xtreg面板GLS模型:xtgls面板GEE模型:xtgee面板probit模型:xtprobit面板logit模型:xtlogit差分GMM模型:xtabond系统GMM模型:xtdpdsysHausman检验:hausman似然比检验:lrtest空间计量从截面数据到空间面板:传送门。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[推荐] 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 more off (关闭more选项。
如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。
你按空格键后再输出下一屏,直到全部输完。
如果关闭则中间不停,一次全部输出。
)set matsize 4000 (设置矩阵的最大阶数。
我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。
和dos的命令行很相似。
)log using (文件名).log,replace (打开日志文件,并更新。
日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。
)use (文件名),clear (打开数据文件。
)(文件内容)log close (关闭日志文件。
)exit,clear (退出并清空内存中的数据。
)实证工作中往往接触的是原始数据。
这些数据没有经过整理,有一些错漏和不统一的地方。
比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。
回归时如果使用这些观察,往往得出非常错误的结果。
还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数据造成麻烦。
因此,拿到原始数据后,往往需要根据需要重新生成新的数据库,并且只使用这个新库处理数据。
这部分工作不难,但是非常基础。
因为如果在这里你不够小心,后面的事情往往会白做。
假设你清楚地知道所需的变量,现在要做的是检查数据、生成必要的数据并形成数据库供将来使用。
检查数据的重要命令包括codebook,su,ta,des和list。
其中,codebook提供的信息最全面,缺点是不能使用if条件限制范围,所以,有时还要用别的帮帮忙。
su空格加变量名报告相应变量的非缺失的观察个数,均值,标准差,最小值和最大值。
ta空格后面加一个(或两个)变量名是报告某个变量(或两个变量二维)的取值(不含缺失值)的频数,比率和按大小排列的累积比率。
des后面可以加任意个变量名,只要数据中有。
它报告变量的存储的类型,显示的格式和标签。
标签中一般记录这个变量的定义和单位。
list报告变量的观察值,可以用if或in来限制范围。
除了ta命令,其他命令都可以后面不加任何变量名,报告的结果是正在使用的数据库中的所有变量的相应信息。
说起来苍白无力,打开stata亲自实验一下吧。
顺带说点儿题外话。
除了codebook之外,上述统计类的命令都属于r 族命令(又称一般命令)。
执行后都可以使用return list报告储存在r()中的统计结果。
最典型的r族命令当属summarize。
它会把样本量、均值、标准差、方差、最小值、最大值、总和等统计信息储存起来。
你在执行su 之后,只需敲入return list就可以得到所有这些信息。
其实,和一般命令的return命令类似,估计命令(又称e族命令)也有ereturn命令,具有报告,储存信息的功能。
在更复杂的编程中,比如对回归分解,计算一些程序中无法直接计算的统计量,这些功能更是必不可少。
检查数据时,先用codebook看一下它的值域和单位。
如果有-9,-99这样的取值,查一下问卷中对缺失值的记录方法。
确定它们是缺失值后,改为用点记录。
命令是replace (变量名)=. if (变量名)==-9。
再看一下用点记录的缺失值有多少,作为选用变量的一个依据。
得到可用的数据后,我会给没有标签的变量加上注解。
或者统一标签;或者统一变量的命名规则。
更改变量名的命令是rename (原变量名)空格(新变量名)。
定义标签的命令是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日被记录为19911023。
我想使用它年份和月份,并生成虚拟变量。
下面是我的做法:gen yr=int(date)gen mo=int((data-yr*10000)/100)ta yr, gen( yd)ta mo, gen( md)假设你已经生成了所有需要的变量,现在最重要的就是保存好你的工作。
使用的命令是save空格(文件名),replace。
和前面介绍的一样,replace选项将更新你对数据库的修改,所以一定要小心使用。
最好另存一个新的数据库,如果把原始库改了又变不回去,就叫天不应叫地不灵了。
前面说的都是对单个数据库的简单操作,但有时我们需要改变数据的结构,或者抽取来自不同数据库的信息,因此需要更方便的命令。
这一类命令中我用过的有:改变数据的纵横结构的命令reshape,生成退化的数据库collapse,合并数据库的命令append和merge。
纵列(longitudinal)数据通常包括同一个行为者(agent)在不同时期的观察,所以处理这类数据常常需要把数据库从宽表变成长表,或者相反。
所谓宽表是以每个行为者为一个观察,不同时期的变量都记录在这个观察下,例如,行为者是厂商,时期有2000、2001年,变量是雇佣人数和所在城市,假设雇佣人数在不同时期不同,所在城市则不变。
宽表记录的格式是每个厂商是一个观察,没有时期变量,雇佣人数有两个变量,分别记录2000年和2001年的人数,所在城市只有一个变量。
所谓长表是行为者和时期共同定义观察,在上面的例子中,每个厂商有两个观察,有时期变量,雇佣人数和所在城市都只有一个,它们和时期变量共同定义相应时期的变量取值。
在上面的例子下,把宽表变成长表的命令格式如下:reshape long (雇佣人数的变量名), i((标记厂商的变量名)) j((标记时期的变量名))因为所在城市不随时期变化,所以在转换格式时不用放在reshapelong后面,转换前后也不改变什么。
相反地,如果把长表变成宽表则使用如下命令reshape wide (雇佣人数的变量名), i((标记厂商的变量名)) j((标记时期的变量名))唯一的区别是long换成了wide。
collapse的用处是计算某个数据库的一些统计量,再把它存为只含有这些统计量的数据库。