美文网首页stata小小白
005 Stata循环:while

005 Stata循环:while

作者: 凡有言说 | 来源:发表于2019-07-13 23:27 被阅读2次

Stata中的循环有三类:

  • while循环
  • foreach循环
  • forvalues循环
    其中,foreach和forvalues都可以看作是while循环的变种。两者的区别在于foreach跟的对象可以是宏、变量名和文件名等,而forvalues跟的必须是数字。

先介绍while循环

while exp { 
     stata_commands 
}

Braces must be specified with while, and

  • the open brace must appear on the same line as while;
  • nothing may follow the open brace, except, of course, comments; the
    first command to be executed must appear on a new line;
  • the close brace must appear on a line by itself.

while循环的逻辑是:

  • 判断 expression 的真假
  • 如果expression 取值为真,则执行大括号内的命令
  • 执行完一轮后再判断expression 的真假
  • 如果expression 取值为真,则执行大括号内的命令
  • ......
  • 直到expression 取值为假为止

在具体应用时,while循环可以嵌套在其他循环中。

*单循环
. local j = 1

. 
. while `j' < 10{
  2.         disp `j'
  3.         local j = `j'+1
  4. }
1
2
3
4
5
6
7
8
9
*嵌套循环
. local i = 1

. while `i' <= 5{
  2.         local j = 1
  3.         while `j' < `i'{
  4.                 disp "`j' 小于 `i'"
  5.                 local j = `j' + 1
  6.         }
  7.         local i = `i' + 1
  8. }
1 小于 2
1 小于 3
2 小于 3
1 小于 4
2 小于 4
3 小于 4
1 小于 5
2 小于 5
3 小于 5
4 小于 5

参考资料:
【爬虫俱乐部】精通Stata之数据整理

相关文章

网友评论

    本文标题:005 Stata循环:while

    本文链接:https://www.haomeiwen.com/subject/essvkctx.html