//缩尾,截尾
ssc install winsor2
winsor2 var1,var2,replace cuts(1,99)
winsor2 var1,var2,replace cuts(1,99) trim
//生成虚拟变量
webuse grunfeld,clear
keep invest
xtile invest3=invest,nq(3)
sort xtile
//建立虚拟变量
xtab xtile,gen(high_)
//调整格式
format %14s Postition
//拟合值
predict yhat,xb
predict yhat1
predict residual,res
//面板分组回归
reg invest mvalue kstock if company==1
predict yhat_com if company==1,xb
predict yhat_com if company==1,res
//分组获取回归的拟合值与残差项
help asreg
asreg invest mvalue kstock ,by(company) fitted
//生成虚拟变量
webuse grunfeld,clear
gen province ="新疆" if company>5 &company<8
replace province ="河南" if company>=8
replace province="浙江" if company<=5
//数值类型
reg invest mvalue stock
reg invest mvalue kstock i.year
reg invest mvalye kstock i.company
//字符串 文本
reg invest mvalue kstock i.province
xi:reg invest mvalue kstock i.province
egen province1=group(province)
reg invest mvalue kstock i.province1
pca进行降维
sysuse auto,clear
pca price mpg rep78 headroom weight length displacement foreign
screeplot,yline(1)
predict pc1,score
p越小越拒绝,就越显著
regress
//字符串类型与数值类型的转换
webuse destirng1,clear
gen a=code + income
destring code ,replace
gen b=clde +income
destring income,replace
gen c=code+income
//关于egen函数的一些应用
sysuse auto,clear
keep price
egen meanprice =mean(price)
egen sdprice=sd(price)
egen mdprice=median(price)
egen minprice=min(price)
egen maxprice=max(price)
egen rowmax1=rowmax(price meanprice)
help egen
//基础运算
display 7+8
diaplay 7*8
display 7^2
display ln(7)
display log(7)
help log(7)
di 7*8
sysuse auto,clear
keep mpg trunk
generate add=mpg+trunk
gen lnmpg=ln(mpg)
gen add1=mpg +trunk if trunk==11
//处理重复样本 unique
sysuse auto,clear
expand 2 in 1/2
sort make
ssc install unique
unique make
unique make price
unique Stkcd Year
duplicates tag make price ,gen(tag1)
duplicates list make
//剔除重复样本
duplicates drop Stkcd Year ,force
//生成虚拟变量
sysuse auto,year
//
tabulate foreign
//
summarize foreign
//如果不缺失就是0
gen dummy1=0 if !missing(foreign)
replace dummy1=1 if foreign ==1 & !missing(foreign)
//单一生成
gen dummy2=cond(foreign==1,1,0)
replace dummy2=.if foreign==.
//tab命令生成虚拟变量
tab make,gen(car_)
//通配符
reg price mpg trunk car_*
//在做回归是生成虚拟变量
reg price mpg trunk i.foreign
egen grou_make=group(make)
reg price mpg trunk i.group_make
//样本的保留与删除
sysuse census,clear
replace pop=. if pop >50000
drop if pop ==.
drop a
keep if pop !=.
drop if Debt>1
keep if Debt<=1
//分组计算
clear
set obs 40
gen id = _n
egen industry = cut(id), at(1(10)45)
expand 5
bysort id: gen year = _n +2003
xtset id year
gen sale = int(200+rnormal()*20)
order year industry
sort year industry
by year industry :egen compete =conut(id)
bysort year industry: egen all_sales=sum(sale)
sort id
by id: egen all_sales =sum(sale)
bysort id :egen all_sales =sum(sale)
global x "lidengjia"
local a "lidengjia"
$x
~''a
//排序
sort
gsort
sysuse auto,clear
keep mpg price
keep in 1/20
list
list mpg
sort mpg
gsort mpg
gort mpg -price
//导出相同样本量的描述性统计
sysuse auto,clear
replace price =. if price == 3299
replace mpg=. if mpg == 21
//描述性统计
tabstat price mpg rep78,s(N mean p50 sd )
tabstat price mpg rep78,s(N mean p50 sd ) columns(s)
egen miss =rmiss(price mpg rep78)
drop if miss==1
tabstat price mpg rep78, s(N mean p50 sd) columns(s)
logout,save(mytable) word replace :tabstat price mpg rep78,s (N mean p50 sd ) f(%12.3f) columns(s)
//数据集等分
wbuse grunfeld,clear
keep invest
xtile invest3 =invest ,nq(3)
sort invest
tab invest3,gen(high_)
//预测值和参茶之
predict yhat,xb
predict yhat1
predict residual,res
reg invest mvalue kstock if commpay==1
predict yhat_com if commpany==1,xb
predict residual_com if company==1,res
help asreg
asreg invest mvalue kstock,by(company) fitted
//虚拟变量回归
webuse grunfeld,clear
gen province ='新疆' if company >5 & company<8
replace province ="河南" if company>=8
replace province ="浙江" if company <=5
reg invest mvalue kstock
reg invest mvalue kstock i.year
reg invest mvalue kstock i.company
reg invest mvalue kstock i.province
xi:reg invest mvalue kstock i.company
egen province1=group(province)
reg invest mvalue kstock i.province1
//分组变量比较多
bysort race:reg ln_wage ttl_exp tenure hours
bys race:reg lv_wage ttl_exp tenure hours
xtset idcode year
xtreg ln_wage ttl_exp tenure hours if race ==1,fe
xtreg ln_wage ttl_exp tenure hours if race ==2,fe
xtreg ln_wage ttl_exp tenure hours if race ==3,fe
xtset idcode year
bys race:xtreg ln_wage ttl_exp tenure hours,fe
//统计回归结果的输出
reg invest mvalue kstock i.province,robust
est store m4
est store ols
est store fe
est store re
esttab ols fe re using 1.rtf ,replace title('回归结果输出') mtitle(“混合回归” “固定效应模型” “随机效应模型”) star(* 0.1 * ** 0.05** ***0.01*** ) r2 scalars(F) nogap
//描述性统计
cd e://
sysuse auto.dta
ivregress 2sls mpg weight (length=displacement),first
est restore first
outreg2 using twosage.doc,cctop(first stage) bdec(4) replace
est restore second
outreg2 using twostage.doc,cctop(second state) bdec(3)
sysuse auto,clear
reg price mpg headroom
gen interact =mpg *headroom
reg price mpg headroom interact
#既包含变量本身,又包含两个变量的交互项
reg price c.mpg##c.headroom
#只包含两个变量的交互项
reg price c.mpg#c.headroom
#回归中要生成虚拟变量
tab rep78
reg price mpg headroom i.rep78#c.headroom
reg price mpg headroom c.rep78#c.headroom