教对象Stata系列|第5课:循环语句的使用 | 您所在的位置:网站首页 › stata中if语句 › 教对象Stata系列|第5课:循环语句的使用 |
附件: 【附件内容】do文件,PDF笔记,录屏 【附件下载】链接:https://pan.baidu.com/s/1F6-cMjF3dqIvNdhjoZ7jMw?pwd=vnwl本文是教对象Stata系列视频的笔记内容。对应视频与配套代码请见下方链接,笔记内容请见分割线下方。 视频合集 bilibili视频链接 配套代码链接 在 Stata 中,通过使用循环语句,可以简化有规律、高度重复的命令。 循环语句的命令包括 foreach 和 forvalues 两个。foreach 可以对指定列表进行循环,该列表可以是数列,也可以是文本列表。forvalues 可以对数列进行循环。 一、foreach 命令: 列表循环基础语法: 123foreach lname {in|of listtype} list { commands referring to `lname'}其中,lname 表示循环指示符,of listtype 中的列表类型有 local、global、varlist、newlist、numlist 五种。 foreach 命令需要使用大括号: 左大括号和 foreach 出现在同一行 大括号后面只能添加备注 下一行输入要运行的命令 右大括号必须单独占一行 1. local - 局部宏 123456789** 局部宏local grains "rice wheat corn rye barley oats"foreach x of local grains { display "`x'"}** 等效命令foreach x in rice wheat corn rye barley oats { display "`x'"} 2. global - 全局宏 123456789** 全局宏global money "Franc Dollar Lira Pound"foreach y of global money { display "`y'"}** 等效命令foreach y in Franc Dollar Lira Pound { display "`y'"} 3. 三种 list 类型 12345678910111213141516171819202122** varlist 变量列表foreach v of varlist pri-rep t* { sum `v'}** 等效命令foreach v in pri-rep t* { sum `v'}** newlist 新变量列表foreach var of newlist z1-z20 { gen `var' = .}** 等效命令forvalues n=1/20 { gen z`n' = .}** numlist 数列foreach n of numlist 1 4/8 13(2)21 103 { display `n'} 二、forvalues 命令: 数值循环基础语法: 123forvalues lname = range { commands referring to `lname'}forvalues 命令需要使用大括号: 左大括号和 forvalues 出现在同一行 大括号后面只能添加备注 下一行输入要运行的命令 右大括号必须单独占一行其中,数值范围 range 可以写成4种形式: a/b : 在 \([a,b]\) 之间循环,循环间隔为1,循环方向是\(a \to b\)。 a(d)b : 在 \([a,b]\) 之间循环,循环间隔为\(d\),循环方向是\(a \to b\)。 a c to b : 在 \([a,b]\) 之间循环,循环间隔为\(c-a\),循环方向是\(a \to b\)。 a c : b : 在 \([a,b]\) 之间循环,循环间隔为\(c-a\),循环方向是\(a \to b\)。示例: 1234567891011forvalues i=4/8 { display `i'}forvalues i=13(2)21 { display `i'}forvalues i=5 8 : 21 { display `i'} |
CopyRight 2018-2019 实验室设备网 版权所有 |