循环本身并不复杂,但是变量、和暂元之间的关系是核心。
暂元是一个比变量复杂的概念,暂元有以下几个特点
(1)具有储存变量的功能,
(2)自己是一个动态的过程
note:引用暂元需要使用 ` x'这种形式
以foreach循环为例
调入系统自带数据:
sysuse auto,clear
构建暂元:
local vars" price mpg"
note:需要给暂元一个名称
定义 变量v 同时调用暂元 vars
foreach v of varlist `vars'{
gen `v'_2 = `v'^2
}
note:调用暂元需要首先声明暂元类型--varlist
结果如下图:
如果不给暂元单独分配一个名称,可以下方式:
foreach v in price mpg{
gen `v'_2 = `v'^2
}
note:有的时候需要用`v'这种形式,有的时候不需要,判断标准在于是否是第一次定义,如果以前已经定义过,那么第二次使用则需要使用这种格式。