楼主: 丁振松
10887 5

stata如何跳出内循环? [推广有奖]

  • 4关注
  • 0粉丝

已卖:67份资源

博士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
69386 个
通用积分
3.0600
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
182 点
帖子
32
精华
0
在线时间
501 小时
注册时间
2010-7-12
最后登录
2025-1-9

楼主
丁振松 发表于 2016-2-11 15:06:09 来自手机 |AI写论文
50论坛币
现在写了一个双循环的程序,其中内循环满足一定条件时需要退出,继续执行下一步外循环。

使用命令continue时会继续执行内循环,使用命令continue,break时,会终止两个循环,都无法实现只退出内循环的想法。

请问stata能实现只退出内循环吗?多谢了!

关键词:Stata tata continue break Tin continue 下一步 如何 程序

沙发
夏目贵志 发表于 2016-2-12 09:09:00
https://bbs.pinggu.org/thread-4233868-1-1.html重复。那个我删了。这个留着。
用continue, break就可以退出内循环了啊。比如
  1. forvalues i=1/5 {
  2.         forvalues j=6/10 {
  3.                 if `j'==7 {
  4.                         continue, break
  5.                 }
  6.                 else {
  7.                         noi di "`i' `j'"
  8.                 }
  9.         }
  10. }
复制代码

输出结果是
1 6
2 6
3 6
4 6
5 6

藤椅
arkfan 发表于 2016-4-29 20:09:03
夏目贵志 发表于 2016-2-12 09:09
https://bbs.pinggu.org/thread-4233868-1-1.html重复。那个我删了。这个留着。
用continue, break就可以 ...
这把所有的循环都终止了,如果只终止内循环的话,还应该继续显示:
1 8
2 8
3 8
4 8
5 8
1 9
2 9
......
把continue后面的break去掉就是只终止当前为j=7的循环,然后继续跑下一个j=8

板凳
夏目贵志 发表于 2016-4-30 00:13:02
arkfan 发表于 2016-4-29 20:09
这把所有的循环都终止了,如果只终止内循环的话,还应该继续显示:
1 8
2 8
想要你说的这个结果把里外循环换一下就好了
  1. forvalues j=7/10 {
  2.         forvalues i=1/5 {
  3.                 if `j'!=7 {
  4.                         noi di "`i' `j'"
  5.                 }
  6.         }
  7. }
复制代码

报纸
arkfan 发表于 2016-4-30 08:09:34
夏目贵志 发表于 2016-4-30 00:13
想要你说的这个结果把里外循环换一下就好了
请问有没有求矩阵某一行的中位数是多少的算法?我现在实现的算法很麻烦,是先把矩阵存到字段里,再利用命令得出,然后再存回相关矩阵。因为我的数据量较大,这种反复存储方式使我的程序效率运行很低。

地板
夏目贵志 发表于 2016-5-1 00:09:57
arkfan 发表于 2016-4-30 08:09
请问有没有求矩阵某一行的中位数是多少的算法?我现在实现的算法很麻烦,是先把矩阵存到字段里,再利用命 ...
http://www.stata.com/support/faq ... culate-row-medians/
供参考。不过我觉得你是不是现在就是用的这个方法。。。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 15:47