全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5956 6
2014-10-13
global g 0
forvalues i=1/1 {
egen bachelorsum=rowtotal(bachelor1-bachelor7)
gen bachelor`i'bili=bachelor`i'/bachelorsum
gen bachelor`i'z1=bachelor`i'bili in 1/23
gen bachelor`i'z2=bachelor`i'bili in 2/24
//产生学科比例变量
mkmat bachelor`i'z1, nomissing
mkmat bachelor`i'z2, nomissing
svmat bachelor`i'z1
svmat bachelor`i'z2
//变量转换为矩阵,矩阵转换为变量,目的是为了实现错位相减
gen bachelor`i'z3=bachelor`i'z21-bachelor`i'z11

//产生学科比值增加值变量


matrix result`i'adr=J(20,5,0)



forvalues k=13/13 {
local a=`k'+24
//优选滞后期
forvalues j=1/20 {
egen igsum=rowtotal(ig1-ig20)
egen iesum=rowtotal(ie1-ie20)

gen ig`j'z1=ig`j' in `k'/`a'
gen ie`j'z1=ie`j' in `k'/`a'
gen igsum1=igsum in `k'/`a'
gen iesum1=iesum in `k'/`a'

mkmat ig`j'z1, nomissing
mkmat ie`j'z1, nomissing
mkmat igsum1, nomissing
mkmat iesum1, nomissing
svmat ig`j'z1
svmat ie`j'z1
svmat igsum1
svmat iesum1
//变量变为矩阵,矩阵变为变量,实现顶针

gen fw`j'=ig`j'z11*1000/ie`j'z11
gen sw`j'=(igsum11-ig`j'z11)*1000/(iesum11-ie`j'z11)

capture drop ig`j'z1 ie`j'z1 ig`j'z11 ie`j'z11 igsum iesum igsum1 iesum1 igsum11 iesum11

regress bachelor`i'z3 fw`j' sw`j' in 1/23

local u=el(r(table),4,1)
local uu 0.1
if `u'<=`uu' {
//matrix result`i'adr[`j',1]="`e(cmdline)'"
matrix result`i'adr[`j',1]=`e(r2_a)'
matrix result`i'adr[`j',2]=el(r(table),1,1)
matrix result`i'adr[`j',3]=el(r(table),4,1)
matrix result`i'adr[`j',4]=el(r(table),5,1)
matrix result`i'adr[`j',5]=el(r(table),6,1)
}
capture drop u uu
//我加上了上面的if语句,然后capture drop就不发生作用了
}

}
capture drop bachelor`i'z1 bachelor`i'z2 bachelor`i'z3 bachelor`i'z11 bachelor`i'z21 bachelor`i'bili bachelorsum fw`j' sw`j'
matrix list result`i'adr
}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-13 13:38:40
如上面的程序,为什么capture drop不发生作用?每次运行都必须删除许多变量
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-13 15:55:03
cyt205 发表于 2014-10-13 13:38
如上面的程序,为什么capture drop不发生作用?每次运行都必须删除许多变量
多个变量时,不能这样连着写,比如
复制代码
而要用
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-13 18:01:33
ywh19860616 发表于 2014-10-13 15:55
多个变量时,不能这样连着写,比如 而要用
我试过多个变量连着写,可以运行。问题是加了IF判断语句后就不行了,不知道怎么回事......
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-13 19:40:05
cyt205 发表于 2014-10-13 18:01
我试过多个变量连着写,可以运行。问题是加了IF判断语句后就不行了,不知道怎么回事......
原理上来说,应该是按照我所理解的,你试一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-28 18:13:22
capture drop [var]这个语句是什么意思?这个语句和drop [var]语句有什么区别?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群