- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap16 STATA编程基础
实验16-3:程序控制语句 实验基本原理 与其他很多软件或程序语言类似,Stata的程序语句也包括循环语句和条件语句。循环语句主要有while、foreach、forvalues,条件语句为if。在程序中合理地运用这些语句,能使得计算等变得更为简单。 与很多其他命令类似,这些控制语句可以用在程序或do文件中。 实验内容及数据来源 本实验中,我们主要讲解条件语句(if语句)和循环语句(while、foreach和forvalues语句)的格式及使用。此外,我们还会讲解如何跳出循环、如何在程序中确认变量和参数类型以及如何忽略错误信息等内容。 本实验的部分内容也会用到本书附带光盘data文件夹下的“usaauto.dta”工作文件,对变量的具体描述见本章的实验16-2。 实验操作指导 1 if语句 if语句的基本格式为: if exp { multiple_commands } else { multiple_commands } 这里,exp为表达式,如果表达式内容为真(非0),就执行if下面的命令语句(multiple_commands);如果表达式为假(取值为0),就执行else下面的命令。需要注意的一点是,左括号“{”必须与if或else在同一行上,且其后不能有内容(但注释是允许的);此外,右括号“}”必须自己占一行。 另外,如果有多种情况,我们还可使用else if命令,即在if语句的右括号结束之后,else开始之前,插入如下的命令语句: else if exp2 { multiple_commands } 最后,如果命令语句只有一句,我们也可以采取一种比较简单的形式,即: if exp single_command1 else single_command2 这里,如果表达式为真,就执行single_command1的命令;如果为假,则执行single_command2的命令。 program power if `20 { generate z=`1^`2 (计算z的值) label variable z `1^`2 (为变量z加标签) } else if `2==0 { (注意为两个等号) generate z=log(`1) label variable z log(`1) } else { generate z=-(`1^(`2)) label variable z -`1^(`2) } end 2 while语句 while语句的基本格式为: while exp { 命令语句 } 这里,while是循环的基本命令语句,exp为表达式。如果表达式的值为真(非0),则执行下面大括号内的命令;程序会重复这个过程直到表达式exp的值为假(0)。while可以嵌套于其他while当中。此外,如果exp为变量名,则其第一个观测值会被使用,除非通过下标指定为哪一个观测值。 例如,我们可能会写这样一段命令: program dwh local i = `1 while `i0 { display `i local i = `i - 1 } end 这里,程序dwh的第一步定义局部宏i,其值等于输入的第一个参数的值。循环语句中,如果i的值为正,则显示字符串表明其现在的值,然后令局部宏i的值减1,继续这个循环,直至i不大于0。而要执行这个程序,我们可输入(例如): dwh 3 结果会依次显示3、2、1。 当然这个程序是并没有太大的意义,对于这种循环,我们可以使用后面的foreach或forvalues来更方便地实现。 3 foreach语句 foreach语句将按照各个条目(item)进行循环。其基本命令格式为: foreach lname {in| of listtype} list { 关于 `lname的相关命令 } 这里,foreach是按条目循环的基本命令,该命令将局部宏lname依次设置为list中的各个元素,并对其执行大括号中的命令。如果list为空,该命令就会执行0次。此外,当循环结束后,局部宏`lname’会自动被删掉。另外需要注意的地方是,左括号“{”必须与foreach在同一行上,且其后不能有内容(但注释是允许的);而右括号“}”必须自己占一行。 下面,我们对foreach的几种具体形式进行讲解。 ①foreach lname in anylist { 该种形式允许一般形式的列表(list),列表中的各个元素用空格分开。 例如, foreach x in mpg weight-turn { summarize `x } 这时,循环会执行两次,即令局部宏x依次为mpg和weight
您可能关注的文档
最近下载
- 《篮球训练》教学大纲.pdf VIP
- 广西桂林理工大学南宁分校招聘笔试真题2024.docx VIP
- 新大陆物联网平台操作流程.docx VIP
- Fronius伏能士 TPS 270i C Pulse MIG.MAG电源操作手册.pdf VIP
- 电焊安全技术交底.doc VIP
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025福建莆田市城市建设投资开发集团有限公司招聘30人考试备考题库及答案解析.docx VIP
- 物联网全栈智能应用实训系统设备接线图V2.0.pdf VIP
- 柔性触摸屏及全贴合生产项目投资计划书.pptx VIP
- 《食品安全与营养健康》课件.ppt VIP
文档评论(0)