全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2201 10
2014-02-01
悬赏 66 个论坛币 未解决
一般循环已经搞定了,出现了一个问题,请大伙帮帮忙看看啦
forvalues i=1/20000 {
forvalues j=1/15 {
replace A=sum(B*C) if code1==`j' & code2==`i'
}
}
其中A, B, C, code1, 和code2都是已经定义好的变量。

其中code1=1/15, code2=1/20000。

这个command检测过了没问题,可是,速度太慢了....因为observation有500万...

第一当然是求助有没有什么优化的建议了。

我自己想的优化办法是:

由于code1与code2未必完全对应,比如:
code2=1时,code1只有1,2,5,15,也就是说内循环中只循环着4个值就行了。

所以我把command改成了:

forvalues i=1/20000 {
forvalues j=1/15 {
if code1==`j'  {          //当code1存在等于循环值的时候再进行下面的替换操作//
replace A=sum(B*C) if code1==`j' & code2==`i'
}
}
}

问题来了,为什么这个command内循环转完1就开始外循环了,内循环只能转1轮...

求大家帮帮忙啦!解答一下!新年快乐!


二维码

扫码加我 拉你入群

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

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

全部回复
2014-2-1 18:57:55
支持
二维码

扫码加我 拉你入群

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

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

2014-2-2 03:16:46
自顶一贴求帮助!
二维码

扫码加我 拉你入群

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

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

2014-2-2 09:34:57
求指导啊求指导
二维码

扫码加我 拉你入群

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

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

2014-2-2 17:35:26
再顶一次。。。
二维码

扫码加我 拉你入群

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

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

2014-2-2 21:58:44
forvalues j=1/15 {
改为
foreach j of numlist 1 2 5 15 {
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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