楼主: cyt205
6029 6

[编程问题求助] 为什么这个程序的capture drop命令不发生作用? [推广有奖]

  • 1关注
  • 1粉丝

已卖:302份资源

博士生

17%

还不是VIP/贵宾

-

威望
0
论坛币
1018 个
通用积分
3.2845
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
8128 点
帖子
97
精华
0
在线时间
341 小时
注册时间
2006-12-12
最后登录
2025-7-29

楼主
cyt205 发表于 2014-10-13 13:37:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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
}

二维码

扫码加我 拉你入群

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

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

关键词:capture drop cap APT forvalues 程序

沙发
cyt205 发表于 2014-10-13 13:38:40
如上面的程序,为什么capture drop不发生作用?每次运行都必须删除许多变量

藤椅
ywh19860616 发表于 2014-10-13 15:55:03
cyt205 发表于 2014-10-13 13:38
如上面的程序,为什么capture drop不发生作用?每次运行都必须删除许多变量
多个变量时,不能这样连着写,比如
  1. capture drop var1 var2 var3
复制代码
而要用
  1. capture drop var1
  2. capture drop var2
  3. capture drop var3
复制代码
已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
葫芦娃大王 + 1 + 1 精彩帖子
SpencerMeng + 20 + 2 + 2 精彩帖子,涨姿势了

总评分: 经验 + 1  论坛币 + 21  学术水平 + 2  热心指数 + 2   查看全部评分

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

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

地板
slezjx 发表于 2018-1-28 18:13:22
capture drop [var]这个语句是什么意思?这个语句和drop [var]语句有什么区别?

7
葫芦娃大王 学生认证  发表于 2018-1-28 19:37:32
slezjx 发表于 2018-1-28 18:13
capture drop [var]这个语句是什么意思?这个语句和drop [var]语句有什么区别?
同问

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 21:26