美文网首页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