stata常用小命令(持续更新中)

【1】读入数据一种方式
input  x  y
       1  4 
       2  5.5 
       3  6.2 
       4  7.7 
       5  8.5 
end
【2】直接导入csv格式数据
insheet using name.csv, clear
【3】多重共线性
reg y x1 x2 x3
vif
【4】逐步回归
stepwise, pe(0.1): reg y x
【5】对数据进行Winsorize处理
 findit winsor2
 winsor2 varname, replace cut(1 99)
【6】删除重复值
sort var1 var2
duplicatesdrop var1 var2, force
【7】异方差检验及处理
检验:怀特检验
ssc install whitetst
reg
estat imtest, white
处理:“OLS+稳健标准差”
reg y x1 x2 x3, robust
【8】是否遗漏高次项
例如,检验y对x的线性回归有没有遗漏高次项
reg y x
estat ovtest
或者estat ovtest, rhs
【9】排序
gsort +x // (升序)
gsort -x // (降序)
sort x    //升序;并且其它变量顺序会跟着改变
【10】添加标签
label var y "消费" 
【11】关闭more选项
set more off  //(如果打开该选项,那么结那么结果分屏输出,
 // 即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输
//  完。如果关闭则中间不停,一次全部输出。)
【12】定义时间序列
tsset date
【13】变量重命名
help rename
help rename group
rename never_married no_marr // 单个变量重命名
rename (industry occupation) (indu occu) // 批量重命名
【14】数学表达式
help operator // 运算符
//关系运算符 ==; >; <; >=; <=; !=; ~=
sysuse "auto", clear
list price if foreign == 0
sum price if foreign != 1
//逻辑运算符: & -->( 与 ) ; | -->( 或 )
sysuse "auto", clear
sum price wei if (foreign==1 & rep78<=3)
sum price wei if (rep78==1) | (rep78==5) | (foreign !=0)
sum price wei if (rep78>2 & rep78<5) | (price>10000)
// 算术运算符: + - * / ^( 幂 )
display 5^2
dis 1 - 3*2 + 4/5 - 9^3
dis 2*_pi
【15】命令断行
//:*- 三种方式: “///”  、 “/* */”  、 #delimit  命令
//第一种断行方式: ///
sysuse "auto", clear
twoway (scatter price weight) ///
(lfit price weight), ///
title(" 散点图和线性拟合图 ")
//:第二种断行方式: /* */
twoway (scatter price weight) /*
*/ (lfit price weight), /*
*/ title(" 散点图和线性拟合图 ")
//第三种断行方式: #delimit  命令
 #delimit ;
twoway (scatter price wei)
(lfit price wei),
title(" 散点图和线性拟合图 ");
#delimit cr
//Note: #delimit  可以简写为 #d ,  例如 :
#d ;
des; sum; reg price wei len;
#d cr
【16】导入 Excel 数据 : import excel
shellout "auto.xls" // 打开文件 , 要写全后缀
//Note: [1] Excel  表格中有两个 sheet: domestic, foreign,  需要分别导入
//注意区分后缀 : .xls, .xlsx (Excel 2003), (Excel 2007)
import excel "auto.xls", clear sheet(domestic) firstrow
save "data_domes.dta", replace // 存储数据 sheet1
import excel "auto.xls", clear sheet(foreign) firstrow
save "data_forei.dta", replace // 存储数据 sheet2
use "data_domes.dta", clear // 纵向合并数据
append using "data_forei.dta"
browse // 浏览数据
rename foreign v1
encode v1, gen(forigen) // 字符变量 -->  数值变量
drop v1
 save "data_all", replace // 保存合并后的数据
//Note:
// (1) Excel  中的变量名称必须为英文 ;
// (2)  变量名称中可以包括 #, $, &,  空格 之类的特殊符号,
//Stata  会自动忽略这些特殊符号
【17】 数据 横向合并:增加变量 -merge-
// 一对一合并 [ 1:1 ]
// 待合并的数据
use "data1.dta", clear
browse
use "data2.dta", clear
browse
//合并方法:
use "data1.dta", clear
merge 1:1 date using "data2.dta"
sort date
br
//date为接头变量
//_merge  变量的含义:
  _merge==1 obs. from master data
  _merge==2 obs. from only one using dataset
 _merge==3 obs. from at least two datasets, master or using
【18】 标记重复的样本组合
//使用 group()  函数
 use "gta_sample.dta", clear
 egen sicyr = group(sicmen year), label lname(sicyr)
  label list sicyr //  列示对应关系
  bysort sicyr: egen sicyr_obs = count(sicyr)
   sort sicyr sicyr_obs
   br id sicmen year sicyr*
 keep if sicyr_obs>=10 // 保留每个行业 - 年度上观察值大于 10 的样本
 //Note:  这是盈余管理文献中惯用的处理方法
【19】删除重复的样本组合
use "invest3.dta", clear
xtset id t //  错误
//查验错误原因
duplicates report id t
duplicates example id t
list if id == 1
//处理方式
duplicates drop id t, force // 一定要附加 force  选项
 xtset id t
【20】统计样本缺失值
【命令】nmissing  or  mdesc
ssc install nmissing //先下载外部命令nmissing
sysuse  auto,clear
nmissing  //显示所有变量的缺失数目
nmissing rep78  //显示变量rep78的缺失数
ssc install mdesc//先下载外部命令
sysuse  auto,clear
mdesc
【21】删除缺漏值
egen miss=rmiss(var1, var2,……)
drop if miss!=0
//注意:第一句是生成var1, var2, 等变量中是否含有缺漏至的miss变量,如果有缺漏值miss=1第二句是把有缺漏值的去掉,因为var1, var2, 等变量中只要有一个是缺漏,miss=1 都删去
【22】缩尾处理
//原理
sum wage, detail
return list
replace wage = r(p1) if wage<r(p1) //  左侧缩尾
replace wage = r(p99) if wage>r(p99) //  右侧缩尾
//winsor/winsor2  命令
// help winsor
//help winsor2
sysuse "nlsw88.dta", clear
winsor wage, gen(wage_w2) p(0.01)
 winsor2 wage, cuts(1 99)
//Note: [1] cuts(1 99) 选项可以省略,这是默认值
【23】截尾处理
sysuse "nlsw88.dta", clear
winsor2 wage, trim replace // 默认 : 1 99  双边截尾
// 原理解析
sysuse "nlsw88.dta", clear
 _pctile wage, percentile(1 99)
return list
 drop if wage<r(r1) //  删除小于第 1 百分位的样本
 drop if wage>r(r2) //  删除大于第 99 百分位的样本
 // 说明:
 * (1)  可以先绘制直方图,进而根据分布情况选择左截尾、
 * 右截尾还是双边截尾
  * (2)  相比于 ln() 处理和 winsor 处理,该处理会损失样本
 * 但对于大样本而言,该方法比较 “ 干净 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容