cd C:\Users\86189\Desktop //路径
use data.dta,clear //原始数据
xtset indexnumber year
//方法一:
local vlist roa roe //处理roa roe变量
foreach v of local vlist{ // 1/t-1,计算3年的数据,设置为2
forv i=1/2{
by indexnumber: gen `v'`i'=`v'[_n-`i']
}
egen sd_`v'=rowsd(`v'*)
}
drop roa1 roa2 roe1 roe2
save data1.dta,replace
//方法二:
local vlist roa roe //处理roa roe变量
foreach v of local vlist{
use data.dta,clear
xtset indexnumber year
rolling sd_`v'=r(sd),w(3) saving(`v',replace):sum roa //3年滚动,生成新的文件
use `v'.dta,clear
rename start year
keep indexnumber year sd*
xtset indexnumber year
save `v'.dta,replace
}
use data.dta,clear
local vlist roa roe //处理roa roe变量
foreach v of local vlist{
merge 1:1 indexnumber year using `v'.dta,nogen
}
save data1.dta,replace
网友评论