当前位置:文档之家› stata命令简表3

stata命令简表3

stata命令简表3
stata命令简表3

STATA命令简表基本命令

符号

#delimit用来改变命令结束符 (8)

anova方差与协方差分析 (9)

append合并样本数据 (12)

browse用数据编辑器查看数据 (4)

cd 改变stata的工作路径 (2)

Chi2相关关系检验 (10)

ci计算指定变量的置信区间 (9)

clear清除当前stata使用的内存数据信息 . 3 clonevar克隆现有变量 (3)

codebook显示指定变量的编码、取值信息 4 collapse按组生成新的指定统计信息表 (14)

compress压缩数据 (8)

contract按组生成新的频率分布信息表 (14)

correlate显示相关矩阵或者协方差矩阵 (10)

cross一一交叉 (14)

describe描述内存或者文件中的数据 (4)

destring/tostring 字符变量和数字变量的转换 (15)

dir显示当前目录下的文件信息 (3)

display显示文字或者数据运算结果 (3)

do执行命令文件 (5)

drop删除变量或者对象 (7)

duplicates重复数据处理 (14)

egen是generate的扩展形式..................... 16 encode/ decode变量类型转换 (6)

expand 数据伸缩,根据指令吧每个数据行复制n份来取代原来的数据行 (14)

foreach逐项循环命令 (10)

format改变数据输出格式 (6)

forvalues让特定命令在指定数字系列里重复执行 (11)

generate创建新变量 (3)

gsort升序或者降序排列数据 (7)

help帮助命令 (5)

if表达式 (17)

infile/outfile将格式自由的数据读入内存/数据文本格式数据 (4)

infix将格式固定的数据读入内存 (5)

input从命令窗口输入数据 (15)

Insheet/outsheet用电子数据表从外部输入原始数据/ 输出数据表格格式数据 (4)

joinby组内交叉合并 (13)

keep选择保留变量或者对象 (8)

label data数据标签 (5)

label value数值标签 (6)

label variable变量标签 (6)

1

list列出指定变量的取值 (4)

local (17)

log记录开关 (15)

lookfor寻找变量名或者标签 (8)

mean估计期望值 (9)

merge横向合并数据,样本不变,增加变量个数 (13)

move把变量移动到指定位置 (7)

mvencode 缺失值的数值编码 (6)

note 变量注释 (6)

notes 数据注释 (6)

order重新排列变量排列顺序 (7)

program创建新命令 (12)

pwcorr显示所有pairwise相关系数 (10)

query查看运行环境参数设定 (15)

recode重新定义变量中的取值 (3)

refix批量更名 (8)

regress线性回归 (10)

rename变量更名 (8)

replace变量重新赋值 (3)

reshape 长宽格式转换 ............................... 14 S

save保存内存数据 (5)

set设置系统参数或者数据变量 (3)

sort升序排列数据 (7)

summary显示数据统计信息摘要 (4)

tabstat显示连续变量的摘要统计信息 (8)

tabulate/table列表显示定类或定序变量的统计描述 (9)

ttest期望值比较检验 (9)

use数据读入stata (5)

xi 类别变量/交叉项自动生成命令 (16)

七划

找第几个观测值 (17)

找第几个变量 (17)

系统变量 (15)

八划

制图命令 (16)

取子字符串 (17)

十一划

常用函数 (15)

常用概率函数 (16)

?cd 改变stata的工作路径

?cd 命令用来改变stata的工作路径

?用法

◆指定全路径:cd e:\data

◆指定相对路径(如果当前路径已经指向e:\那么下面命令将达到和上面全路

径命令同样效果):cd data

◆cd .. 返回上一级目录

2

?dir显示当前目录下的文件信息

?显示当前目录下的文件信息

?用法

◆dir

?clear清除当前stata使用的内存数据信息

?清除当前stata使用的内存数据信息

?用法

◆直接清除:clear

◆清除后执行相关命令:,clear

?display显示文字或者数据运算结果

?display命令用来显示文字或者数据运算结果

?用法

◆显示文字(文字外围需要加引号):display “a song sb”

◆显示运算结果:display 25*10

?set设置系统参数或者数据变量

?set命令用来设置系统参数或者数据变量

?用法

◆设置系统参数:set memory 100m

◆设置数据变量:set obs 100

?generate创建新变量

?创建新变量

?用法

◆generate [type] newvar[:lblname] =exp [if] [in]

◆eg:generate x = 13

?clonevar克隆现有变量

?克隆现有变量(包括显示格式等所有特征)

?用法

◆clonevar newvar = varname [if] [in]

?replace变量重新赋值

?变量重新赋值

?用法

◆replace oldvar =exp [if] [in] [, nopromote]

◆replace x = 0 if x==1

◆replace x = x + 1

?recode重新定义变量中的取值

?重新定义变量中的取值

?用法

◆基本语法:recode varlist (rule) [(rule) ...] [, generate(newvar)]

3

◆完全语法:recode varlist (erule) [(erule) ...] [if] [in] [, options]

◆recode x1 (1 = 2) (2 = 1), gen(nx1)

◆recode x2 (1 2 = 1) (3 = 2) (4/7 = 3), gen(nx2)

◆recode x* min/0 = 0 * 2

◆recode sex (1-0 “female”) (2=1 “male”),label(gender)

◆在recode中1/12代表1-12;min/12代表小于等于12;12/max代表大于

等于12;missing代表缺失值;nonmissing代表非缺失值

?browse用数据编辑器查看数据

?用数据编辑器查看数据

?用法

◆browse

?list列出指定变量的取值

?列出指定变量的取值

?用法

◆list [varlist] [if] [in] [, options]

?describe描述内存或者文件中的数据

?描述内存或者文件中的数据(样本数、变量类型等信息)

?用法

◆描述内存数据:describe [varlist] [, memory_options]

◆描述文件数据:describe [varlist] using filename [, file_options]

?codebook显示指定变量的编码、取值信息

?显示指定变量的编码、取值信息

?用法

◆codebook varlist

?summary显示数据统计信息摘要

?显示数据统计信息摘要(样本数、均值、标准差、最大最小值)

?用法

◆不能处理字符变量

◆summarize [varlist] [if] [in] [weight] [, options]

◆by contin :sum(gdp)【按照contin分组,然后显示每组的gdp统计

信息】

?Insheet/outsheet用电子数据表从外部输入原始数据/ 输出数据表格格式数据

?用电子数据表从外部输入原始数据/ 输出数据表格格式数据

?用法

◆原始数据必须每行一个对象,并且用分隔符分开

◆insheet [varlist] using filename [, options]

◆insheet using hdr2004a.raw,comma (读入由,号作为分隔符的文本数据)

◆insheet rank nation contin hdi gdp using hdr2004a.raw

◆outsheet [varlist] using filename [if] [in] [,opt]

?infile/outfile将格式自由的数据读入内存/数据文本格式数据

4

?将格式自由的数据读入内存/数据文本格式数据

?用法

◆数据组织格式可以自由,一个对象可以分散在多行,对象之间可以用自定

义分隔符分开

◆Infile varlist using filename

◆Infile rank nation contin hdi gdp using hdr2004b.raw (读入空格分隔的文

本数据,文本中要求没有变量名所以应该在读入时指定)

◆Outfile [varlist] using filename [,opt]

?infix将格式固定的数据读入内存

?将格式固定的数据读入内存

?用法

◆用infix读入的原始数据,其变量对应文件列的位置范围必须固定

◆infix [var1 1-4 var2 5-9 var3 10-12] using filename [if] [in]

◆infix rank 1-2 contin 3-4 hdi 5-10 using filename

?use数据读入stata

?数据读入stata

?用法

◆use [varlist] [if] [in] using filename [, clear nolabel]

◆use rank nation contin using d:\data\hdr2004

◆use in 1/50 using d:\data\hdr2004

◆use if contin==3 using d:\data\hdr2004

?save保存内存数据

?保存内存数据

?用法

◆save [filename] [, save_options]

◆options可以是replace

?help帮助命令

?帮助命令,用来查看命令的使用方法

?用法

◆help cmd

?do执行命令文件

?执行命令文件

?用法

◆do filename

?label data数据标签

?作用

◆帮助其他用户理解数据文件

?用法

◆长度限制为80字节,支持中文

◆查看标签:use 或者describe命令

5

◆添加标签:label data “标签内容”

?notes 数据注释

?作用

◆帮助合作者理解数据更新的时间、内容、问题等

?用法:

◆查看注释:notes

◆添加注释:notes:注释内容

?note 变量注释

?用法:

◆note hdi: by UNDP:> .8 high; >.5 as medium; <.5 low

◆note gdp: per capita gdp in US$ in 2002.

?label variable变量标签

?给变量加上标签

?用法

◆添加标签:label variable “标签”

◆查看标签:describe和notes命令

?encode/ decode变量类型转换(字符变量变数字变量时使用,不能用于数字字符转数字格式)

?字符到数字:encode 变量名,generate(新变量名)

?数字到字符:decode 变量名,generate(新变量名)

?纯数字的字符变量到数字变量:generate 新变量名= real(新变量名)

?mvencode 缺失值的数值编码

?mvencode varlist [if] [in], mv(mvc)

?mvdecode _all, mv(-1=.a\-2=.b\-3=.c\-4=.d)

?mvdecode 与mvencode功能相反

?label value数值标签

?作用

◆记录取值的内容和含义

?用法

◆首先定义标签内容:label define 标签名1 “内容”2 “内容”(1,2

可以是任意数字)

◆然后给变量添加标签:label value 变量名标签名

◆查看数值标签名:describe命令

◆查看数值标签定义:label list 标签名

◆修改标签定义:label define 标签名1 “内容”2 “内容”,modify

◆添加标签定义:label define 标签名4 “内容”6 “内容”,add

?format改变数据输出格式

?改变数据输出格式

?用法

◆format varlist %fmt

6

◆format %fmt varlist

◆format gdp %9.2e

◆format gdp %9.2f

◆format gdp %9.2g

◆format gdp %9.2gc

◆format gdp %-15s

◆e科学记数法;f固定格式;g普通格式;c要求给出逗号;-左对齐;15显

示前15个字符。

◆普通格式g

◆%9.0g:显示9个字节(实际为8),小数点后有效位数根据整个数值的

长短自动调整

◆%9.4g:9个字节,小数点后有效到4位

◆固定格式f

◆%9.2f:9个字节,小数点后必须有两位

◆科学指数e

◆%9.2e:9个字节,小数点后两位,显示特大或特小数字

◆字符格式s

◆%9s:9个字节,向右靠齐

◆%-9s:9个字节,向左靠齐

?gsort升序或者降序排列数据

?升序或者降序排列数据

?用法

◆gsort [+|-] varname (+从小到大,-从大到小排列)

◆gsot +var1 –var2

?sort升序排列数据

?升序排列数据

?用法

◆sort varname

◆sort contin gdp (先按contin排序,在同一个contin里面按gdp排序) ?order重新排列变量排列顺序

?重新排列变量排列顺序

?用法

◆order var1 var5 var6-var8(var1最前面,var5次之,var6到8再次之,

其他依次排在后面)

?move把变量移动到指定位置

?把变量移动到指定位置

?用法

◆move var1 var2(把var1移动到var2的位置,var2及var2之后的变量集

体后移)

?drop删除变量或者对象

7

?删除变量或者对象

?用法

◆删除变量:drop varlist

◆删除对象:drop if exp

◆删除一堆对象:drop in range if exp

?keep选择保留变量或者对象

?选择保留变量或者对象

?用法

◆保留变量:keep varlist

◆保留对象:keep if exp

◆保留一堆对象:keep in range if exp

?compress压缩数据

?压缩数据(通过修改存储格式)

?用法

◆compress [varlist]

?#delimit用来改变命令结束符

?用来改变命令结束符,以使命令可以写在好几行里

?用法

◆#delimit 只能用在.do文件中,在命令行中输入enter键总会使命令执行。

◆以下是.do文件中标准用法

●#delimit ;

●cmd1

●cmd2

●#delimit cr

◆用/**/可以达到同样的效果!

?lookfor寻找变量名或者标签

?寻找变量名或者标签

?用法

◆lookfor string [string [...]]

◆eg:lookfor stu (寻找所有名为stu的变量或者标签)

?rename变量更名

?变量更名

?用法

◆rename old_varname new_varname

?refix批量更名

?批量更名

?用法

◆renpfix old_stub [new_stub]

◆eg:renpfix old new (把所有old开头的变量的开头改为new)

?tabstat显示连续变量的摘要统计信息

8

?显示连续变量的摘要统计信息

?用法

◆tabstat varlist [if] [in] [weight] [, options]

◆通过statistics()指明统计项:tabstat x y z, stat(mean n sd)

◆通过by(var)指明按某var归类统计:tabstat price weight,by(foreign)

◆tabstat age height weight, stats(mean sd range max skewness)

◆tabstat age, stats(mean sd range max skewness) by(edu)

◆stats指出要统计的统计量

?tabulate/table列表显示定类或定序变量的统计描述

?列表显示定类或定序变量的统计描述(出现频度、所占比例)

?用法

◆单个变量:tabulate varname [if] [in] [weight] [, tabulate1_options]

◆多个变量:tab1 varlist [if] [in] [weight] [, tab1_options]

◆分组描述:tab month ,sum(price)(按月“month”查看价格“price”

的统计信息描述)

◆tabulate edu age 这是一个连列表

◆还可以用来生成类别变量:tabulate edug, gen(edu)

?mean估计期望值

?估计期望值

?用法

◆默认95%的置信水平查看期望值:mean varlist [if] [in] [weight] [, options]

◆指定#的置信水平查看期望值:mean varlist,level(#)

?ci计算指定变量的置信区间

?计算指定变量的置信区间

?用法

◆默认95%的置信水平查看置信区间:ci [varlist] [if] [in] [weight] [, options]

◆指定#的置信水平查看置信区间:ci varlist,level(#)

◆CI = [mean-1.96*se, mean+1.96*se]

◆ci var1 var2 ,binomial level(99)

?ttest期望值比较检验

?期望值比较检验

?用法

◆单样本比较检验:ttest varname == # [if] [in] [, level(#)]

◆双样本比较检验:ttest varname1 == varname2 [if] [in] [, level(#)]

◆两组期望值比较检验:ttest varname [if] [in] , by(groupvar) [options1]

◆分组比较检验:ttest 连续变量,by(分组变量)

?anova方差与协方差分析

?方差与协方差分析

?用法

9

◆anova varname [term [/] [term [/] ...]] [if] [in] [weight] [,options](term的

格式是varname[{*||}varname[...]])

◆anova Y X (Y 是应变量,X是分组自变量)

◆anowa income male edu

◆如果在方差分析中加进了连续性变量,形成了类别变量与连续性变量的混

合形式,方差分析就成了协方差分析,分析中连续性变量需要指明。如

anowa income male edu weight, continuous(weight)

?regress线性回归

?线性回归

?用法

◆regress depvar [indepvars] [if] [in] [weight] [, options]

◆regress Y x1 x2,level(99)

?correlate显示相关矩阵或者协方差矩阵

?显示相关矩阵或者协方差矩阵

?用法

◆correlate [varlist] [if] [in] [weight] [, correlate_options]

◆这是list-wise相关系数矩阵,所有参与分析变量中包含缺失值的观测样本

会被排除

?pwcorr显示所有pairwise相关系数

?显示所有pairwise相关系数

?用法

◆pwcorr [varlist] [if] [in] [weight] [, pwcorr_options]

◆这是pair-wise相关系数矩阵,”两个”变量中包含缺失值的观测样本会被排

?Chi2相关关系检验

?相关关系检验

?用法

◆chi2(n,chi2)其中n是自由度,chi2是总差距

◆chi2(n,chi2)= 1 - chi2tail(n,var)当检验显著时两个类型变量有相关关系

?foreach逐项循环命令

?逐项循环命令

?用法

foreach A in Beijing Shanghai Tianjin Chongqing {

display “City:`A’”

}

foreach I of numlist 0(4)12 {

10

display `i’

}

◆语法:foreach lname {in|of listtype} list {

commands referring to `lname'

}

◆允许变量:foreach lname in any_list {

foreach lname of local lmacname {

foreach lname of global gmacname {

foreach lname of varlist varlist {

foreach lname of newlist newvarlist {

foreach lname of numlist numlist {

?forvalues让特定命令在指定数字系列里重复执行

?forvalues I = 1/4 {

gen var `i’=10*`i’+_n

label variable var`i’“Variable `i’”

}

?让特定命令在指定数字系列里重复执行

?用法:

◆forvalues lname = range {

commands referring to `lname'

}

◆范围可以是:

#1(#d)#2 meaning #1 to #2 in steps of #d

#1/#2 meaning #1 to #2 in steps of 1

#1 #t to #2 meaning #1 to #2 in steps of #t - #1

#1 #t : #2 meaning #1 to #2 in steps of #t - #1

11

?program创建新命令

?创建新命令

◆program tprob

args b se df

local p = ttail(`df’,`b’/`se’)*2

display “Two-Tailed t-Probability:`p’”

end

◆program myinterval **这个命令用来计算置信区间

syntax varlist [if] [in] [,ci(real 95)] **定义参数,变量序列是必须的

foreach var of varlist `varlist’ { **用foreach来对变量列中每个变量操作

quietly sum `var’`if’`in’ **给出变量sum信息

local se = r(sd)/sqrt(r(N)) **计算标准差并存在宏se里

local t = invttail(r(N)-1,`ci’/200) **计算ttail并存在宏t里

local lower = r(mean) - `t’*`se’ **计算置信区间下界,并存在宏lower里

local upper = r(mean) + `t’*`se’ **计算置信区间上界,并存在宏upper里

display “Mean of `var’ = ” r(mean) **显示mean

display “`ci’% CI of `var’ = [`lower’, `upper’]” **显示执行区间上下界

}

end

?用法

◆定义程序

program [define] pgmname [, [ nclass | rclass | eclass | sclass ]

sumable(recall[, noheader] | onecall) properties(namelist)

sortpreserve plugin]

◆列出内存中的已有命令

program dir

◆删除内存中的命令

program drop { pgmname [pgmname [...]] | _all | _allado }

◆列出命令内容

program list [ pgmname [pgmname [...]] | _all]

?append合并样本数据

?合并样本数据

?用法

◆两个数据文件里相同变量的变量名要一致,变量类型要一致,序号不能重

◆append using filename [, options]

◆option可以是

keep(varlist) varlist是内存外数据指定保留的变量

nolabel 不拷贝内存外数据的数值标签

12

nonotes 不拷贝内存外数据的数据说明

?merge横向合并数据,样本不变,增加变量个数

?横向合并数据,样本不变,增加变量个数

?用法

◆merge [varlist] using filename [filename ...] [, options]

◆option可以是

keep(varlist) keep only the specified variables from data in

filename

_merge(newvar) newvar marks source of resulting observation;

default

is _merge

nolabel do not copy value label definitions from filename

nonotes do not copy notes from filename

update replace missing data in memory with data from

filename

replace replace nonmissing data in memory with data from

filename

nokeep drop observations in using dataset that do not match

nosummary drop summary variables when multiple filenames are

specified

* unique match variables uniquely identify observations in

both data in memory and in filename

* uniqmaster match variables uniquely identify observations in

memory

* uniqusing match variables uniquely identify observations in

filename

* sort sort master and using datasets by match variables

before merge; sort implies unique

?joinby组内交叉合并

13

?组内交叉合并,指两个数据样本有分组,每一组里的样本做一对一交叉。

?用法

◆joinby [varlist] using filename [, options]

◆option可以是

update replace missing data in memory with values from

filename

replace replace all data in memory with values from

filename

When observations do not match:

unmatched(none) ignore all; the default

unmatched(both) include from both datasets

unmatched(master) include from data in memory

unmatched(using) include from data in filename

_merge(varname) varname marks source of resulting observation;

default is _merge

nolabel do not copy value label definitions from filename

?cross一一交叉

?一一交叉,一个数据的每一个个案和另一个数据的每一个个案交叉,合并和的

样本数为两个样本数的积。

?用法

◆cross using filename 实际上观测值有n*n了,如果每组分别有n个数据?reshape 长宽格式转换

?reshape wide stubnames, i(varlist) [j(varname[values])]

?reshape long stubnames, i(varlist) [j(varname[values])]

◆reshape long work salary, i(id) j(year)

◆reshape wide work salary,i(id) j(year)

?expand 数据伸缩,根据指令吧每个数据行复制n份来取代原来的数据行

?expand [=] exp [if] [in]

?duplicates重复数据处理

?duplicates report [varlist] [if] [in] 汇报重复数据

?duplicates list [varlist] [if] [in] 重复数据列表

?duplicates drop [if] [in] 删除重复数据

?collapse按组生成新的指定统计信息表

?根据指定变量把数据分成不同的组,计算指定变量的组内描述统计

?collapse (mean) sex (median)age (sd)income, by(county)

?contract按组生成新的频率分布信息表

14

?对原始数据进行压缩,生成新的分组数据【每一组的频率,百分比信息】

?contract varlist [if] [in] [weight] [,options]

?contract county sex, cf(cf) percent(p) cp(cp) zero

?destring/tostring 字符变量和数字变量的转换

?destring [varlist],{gen(newvar)|replace} [option]

?destring income percent, replace ignore(“$”) percent

?tostring income,replace

?replace income = “$”+income

?log记录开关

?记录运算结果

?用法

◆开启记录:log using filename,[smcl|text|replace|append]

◆暂停记录:log off

◆继续记录:log on

◆关闭记录:log close

?query查看运行环境参数设定

?查看运行环境参数设定

?用法

◆query memory

◆query output

◆query other

?input从命令窗口输入数据

?从命令窗口输入数据

?用法

◆Input rank contin hdi

◆End

?系统变量

?_b指最近模型估算之后得到的系数

?_cons指最近模型估算后得到的常数项。

?_n指当前观察个案所对应的顺序数

?_pi指圆周率常数

?_se指模型估算之后得到的系数的标准误

?_result指当前的特定stata运算结果中的统计量

?常用函数

?abs(x)取绝对值

?comb(n,k)计算组合n!/k!(n-k)!

?exp(x)取自然对数

?int(x) 取整数

?ln(x) 取自然对数

?log(x) 取自然对数

15

?log10(x) 取10为底的对数

?logit(x) logit(x) = lnx/(1-x)

?max(x1,x2…xn)取最大值

?min(x1,x2…xn)取最小值

?mean(x)取均值

?round(x)四舍五入取整

?round(x,y)同上,y是四舍五入的单位

?sqrt(x)取平方和

?sum(x)求和

?常用概率函数

?chi2(n,x)自由度为n的x方累积分布函数

?chi2tail(n,x) =1-chi2(n,x)

?F(n1,n2,f)自由度为n1和n2的F累积分布函数

?Ftail(n1,n2,f)=1-F(n1,n2,f)

?Invchi2(n,p)chi2(n,x)的反函数

?Invchi2tail(n,p)chi2tail(n,x)的反函数

?invF(n1,n2,p)F(n1,n2,f)的反函数

?invFtail(n1,n2,p)Ftail(n1,n2,f)的反函数

?invnormal(p)normal(x)的反函数

?invttail(n,p)ttail(n,x)的反函数

?normal(z)标准正态分布的累积函数

?std(x)取标准差

?ttail(n,t)自由度为n的累积函数的右端

?egen是generate的扩展形式

?用法

◆bysort male:egen incmean = mean(inc)【incmean分别是男女收入均值】

◆egen newvar = fcn()

●fcn可以是

●count()计算括号里变量nonmissing的个数

●max()

●min()

?xi 类别变量/交叉项自动生成命令

?使用命令xi可以在回归分析中自动地将某个设定为类别变量的各个组别生成

虚拟变量,并将它们带入运算中。在特定的类别变量前要加前缀i.

?Xi: reg income age male https://www.doczj.com/doc/706103124.html,g

?制图命令

?graph twoway histogram

◆hist gdp,by(contin)

◆hist hdi,frequency

?graph bar

16

◆graph bar income, over(edu)

◆graph bar income, over(edu) over(male)

◆graph bar var1 var2,over(var3) stack 叠加条形图

◆graph hbar var 横画条形图

?graph pie

◆graph pie var1 var2

◆graph pie var1, over(var2)

?graph twoway scatter

◆graph twoway scatter yvar xvar

◆scatter hdi gdp, by(contin)

◆graph matrix hdi gdp literacy lifeexp 绘制矩阵散点图

?graph twoway line

◆graph twoway line yvar xvar

?twoway lfit yvar xvar 直线拟合图形

◆scatter hdi literacy || lfit hdi literacy

?twoway qfit yvar xvar 二次拟合曲线

◆scatter income edu || qfit income edu

?graph twoway dot

?graph box literacy enroll lifeexp, over(contin)

?取子字符串

?gen id=substr(v1,1,6)

?if表达式

?. program hello

? 1. args a

? 2. if `a'==1 {

? 3. dis "111111"

? 4. }

? 5. End

?找第几个变量

?local v1 : word 1 of `varlist'

?找第几个观测值

?quietly by s_id: gen hiscore=s_rating[_N]

?local

?局部宏

?用法

◆{local | global} macname : extended_function更多extended function参考

help extended_function

◆local city Beijing Shanghai Tianjin Chongqing

◆display “`city’”

◆local n: word count `city’

17

◆display `n’

◆local one: word 1 of `city’

◆display “`one’”

◆local a: type var1

◆display “`a’”

◆local b: format var1

◆display “`b’”

◆local a=2+3

◆display “`a’”

18

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 y 1 4 2 5.5 3 6.2 4 7.7 5 8.5 end su/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) clear use by(分组变量)

STATA最常用命令大全

stata save命令 FileSave As 例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序 SORT 变量名1 变量名2 …… 变量更名 rename 原变量名新变量名 STATA数据库的维护 删除变量或记录 drop x1 x2 /* 删除变量x1和x2 drop 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 12 egen a=seq() /*产生1到N的自然数 egen b=seq(),b(3) /*产生一个序列,每个元素重复#次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到# egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2 encode 字符变量名,gen(新数值变量名) 作用:将字符型变量转化为数值变量。 STATA数据库的维护 保留变量或记录 keep in 10/20 /* 保留第10~20个记录,其余记录删除 keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除keep if x>0 /* 保留x>0的所有记录,其余记录删除

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>10000 4、[in range]范围筛选 sum price in 1/5 注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。 如果要计算前10 台车中的国产车的平均价格,则可将范围和条件筛选联合使用。 . sum price in 1/10 if foreign==0 5、[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、数值型转化为字符型

(完整)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 y 14 2 5.5 3 6.2 47.7 58.5 end su/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) clear use by(分组变量)

stata常用命令

用help命令熟悉以下命令的功能: cd:(Change directory)改变stata的工作路径 用法:(cd changes the current working directory to the specified drive and directory.) ●指定全路径:cd e:\ ●指定相对路径(如果当前路径已经指向e:\那么下面命令将达到和上面全路 径命令同样效果): ●cd .. 返回上一级目录 dir:(Display filenames)显示当前目录下的文件信息 用法:(list the names of files in the specified,the names of the commands come from names popular on Unix and Windows,filespec may be any valid Mac, Unix, or Windows file path or file)工作列表文件中指定的名称目录,命令的名称来自名字流行的Unix和Windows文件规范可以是任何有效的Mac,Unix或Windows文件路径或文件。 . dir, w . dir *.dta . dir \mydata\*.dta List:(List values of variables)列出指定变量的取值 用法:(st displays the values of variables. If no varlist is specified, the values of all the variables are displayed)列表显示变量的值。如果没有指定varlist,所有的值显示的变量。list [varlist] [if] [in] [, options] . list in 1/10 . list mpg weight . list mpg weight in 1/20 . list if mpg>20 . list mpg weight if mpg>20 . list mpg weight if mpg>20 in 1/10 Describe:(Describe data in memory or in file)描述内存或者文件中的数 据(样本数、变量类型等信息) 用法:(describe produces a summary of the dataset in memory or of the data stored in a Stata-format dataset. For a compact listing of variable names, use describe, simple.) ●描述内存数据: ●描述文件数据:describe [varlist] using filename [, file_options] Use:(Load Stata dataset)调用数据,打开数据文件(以dta结尾)文 件名+.dta 数据读入stata 用法:(use loads into memory a Stata-format dataset previously saved by save. If filename is specified without an extension, .dta is assumed. If your

[推荐] 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 more off (关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。)log using (文件名).log,replace (打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。)use (文件名),clear (打开数据文件。)(文件内容)log close (关闭日志文件。)exit,clear (退出并清空内存中的数据。) 实证工作中往往接触的是原始数据。这些数据没有经过整理,有一些错漏和不统一的地方。比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。回归时如果 使用这些观察,往往得出非常错误的结果。还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数

Stata统计分析命令

Stata统计分析常用命令汇总 一、winsorize极端值处理 范围:一般在1%和99%分位做极端值处理,对于小于1%的数用1%的值赋值,对于大于99%的数用99%的值赋值。 1、Stata中的单变量极端值处理: stata 11.0,在命令窗口输入“findit winsor”后,系统弹出一个窗口,安装winsor模块 安装好模块之后,就可以调用winsor命令,命令格式:winsor var1, gen(new var) p(0.01) 或者在命令窗口中输入:ssc install winsor安装winsor命令。winsor命令不能进行批量处理。 2、批量进行winsorize极端值处理: 打开链接:https://www.doczj.com/doc/706103124.html,/judson.caskey/data.html,找到winsorizeJ,点击右键,另存为到stata中的ado/plus/目录下即可。命令格式:winsorizeJ var1var2var3,suffix(w)即可,这样会生成三个新变量,var1w var2w var3w,而且默认的是上下1%winsorize。如果要修改分位点,则写成如下格式:winsorizeJ var 1 var2 var3,suffix(w) cuts(5 95)。 3、Excel中的极端值处理:(略) winsor2 命令使用说明 简介:winsor2 winsorize or trim (if trim option is specified) the variables in varlist at particular percentiles specified by option cuts(# #). In defult, new variables will be generated with a suffix "_w" or "_tr", which can be changed by specifying suffix() option. The replace option replaces the variables with their winsorized or trimmed ones. 相比于winsor命令的改进: (1) 可以批量处理多个变量; (2) 不仅可以winsor,也可以trimming; (3) 附加了by() 选项,可以分组winsor 或trimming; (4) 增加了replace 选项,可以不必生成新变量,直接替换原变量。 范例: *- winsor at (p1 p99), get new variable "wage_w" . sysuse nlsw88, clear . winsor2 wage *- left-trimming at 2th percentile . winsor2 wage, cuts(2 100) trim *- winsor variables by (industry south), overwrite the old variables . winsor2 wage hours, replace by(industry south) 使用方法: 1. 请将winsor 2.ado 和winsor2.sthlp 放置于stata12\ado\base\w 文件夹下; 2. 输入help winsor2 可以查看帮助文件;

stata基础命令

display 命令 display “1+1”输出为1+1 display 1+1 输出为2 set mem设置内存 set mem 500m,perm 设置内存为500m set matsize 500 设置matsize为500 query memory 查看内存设置 保留和删除变量keep & drop drop crcd repttype 删除crcd repttype keep 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 using use 打开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的离散频率 纵向添加数据append use 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 排列后重新储存该数据文件

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<1992 drop 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)

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", 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表示样本总量增加了,但变量数目不变。one-to-one merge: 数据源自stata tutorial中的exampw1和exampw2 第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1 clear use "t:\statatut\exampw1.dta" su ——summarize的简写 sort v001 v002 v003 save tempw1 第二步:对exampw2做同样的处理 clear use "t:\statatut\exampw2.dta" su sort v001 v002 v003 save tempw2 第三步:使用tempw1数据库,将其与tempw2合并: clear use tempw1 merge v001 v002 v003 using tempw2

常用到的stata命令

常用到的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(设置矩阵的最大阶数。我用的是不是太大了?)

stata常用命令模板

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和x2 drop 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 12 egen a=seq() /*产生1到N的自然数 egen b=seq(),b(3) /*产生一个序列,每个元素重复#次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到# egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2 encode 字符变量名,gen(新数值变量名) 作用:将字符型变量转化为数值变量。

STATA面板数据模型操作命令

STATA 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 μβit +=x y it it εαμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y=L.y /////// 产生一个滞后一期的新变量

gen F_y=F.y /////// 产生一个超前项的新变量 gen D_y=D.y /////// 产生一个一阶差分的新变量 gen D2_y=D2.y /////// 产生一个二阶差分的新变量 (二)模型的筛选和检验 ●1、检验个体效应(混合效应还是固定效应)(原假设:使用OLS混合模型)●xtreg sq cpi unem g se5 ln,fe 对于固定效应模型而言,回归结果中最后一行汇报的F统计量便在于检验所有的个体效应整体上显著。在我们这个例子中发现F统计量的概率为0.0000,检验结果表明固定效应模型优于混合OLS模型。 ●2、检验时间效应(混合效应还是随机效应)(检验方法:LM统计量) (原假设:使用OLS混合模型) ●qui xtreg sq cpi unem g se5 ln,re (加上“qui”之后第一幅图将不会呈现) xttest0

可以看出,LM检验得到的P值为0.0000,表明随机效应非常显著。可见,随机效应模型也优于混合OLS模型。 ●3、检验固定效应模型or随机效应模型(检验方法:Hausman检验) 原假设:使用随机效应模型(个体效应与解释变量无关) 通过上面分析,可以发现当模型加入了个体效应的时候,将显著优于截距项为常数假设条件下的混合OLS模型。但是无法明确区分FE or RE的优劣,这需要进行接下来的检验,如下: Step1:估计固定效应模型,存储估计结果 Step2:估计随机效应模型,存储估计结果 Step3:进行Hausman检验 ●qui xtreg sq cpi unem g se5 ln,fe est store fe qui xtreg sq cpi unem g se5 ln,re est store re hausman fe (或者更优的是hausman fe,sigmamore/ sigmaless) 可以看出,hausman检验的P值为0.0000,拒绝了原假设,认为随机效应模型的基本假设得不到满足。此时,需要采用工具变量法和是使用固定效应模型。

常用stata命令-好用

我常用到的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选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?) cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。) log using (文件名).log,replace (打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。) use (文件名),clear (打开数据文件。) (文件内容)

Stata常用15条命令

【命令1】:导入数据 一般做实证分析使用的是excel中的数据,其后缀名为.xls,需要将其修改为.csv insheet using name.csv, clear 【命令2】:删除重复变量 sort var1 var2 duplicatesdrop var1 var2, force 【命令3】:合并数据 use data1, clear merge m:m var1 var2 using data2 drop if _merge==2 drop if _merge==1 drop _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 x esttab using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01) 多个回归一起 reg y x1 est store m1 reg y x2 est store m2 esttab m1 m2 using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01)

stata常用命令

调整变量格式: format x1 % ——将x1的列宽固定为10,小数点后取三位 format x1 % ——将x1的列宽固定为10,有效数字取三位 format x1 % ——将x1的列宽固定为10,采用科学计数法 format x1 % ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符 format x1 % ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符 format x1 % ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐合并数据: use "C:\Documents and Settings\xks\桌面\", clear merge using "C:\Documents and Settings\xks\桌面\" ——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来 use "C:\Documents and Settings\xks\桌面\", clear merge id using "C:\Documents and Settings\xks\桌面\" ,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表示样本总量增加了,但变量数目不变。one-to-one merge: 数据源自stata tutorial中的exampw1和exampw2 第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1 clear use "t:\statatut\" su ——summarize的简写 sort v001 v002 v003 save tempw1 第二步:对exampw2做同样的处理 clear use "t:\statatut\" su sort v001 v002 v003 save tempw2 第三步:使用tempw1数据库,将其与tempw2合并: clear use tempw1 merge v001 v002 v003 using tempw2 第四步:查看合并后的数据状况:

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,fe

3、随机效应模型和固定效应模型的结果只能两者选其一,方法是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命令的保存,可以使用英文的””在里面加注释

相关主题
文本预览
相关文档 最新文档