我希望在Stata中有一个if
条件,只有当该变量的名称包含在local
中时,才会在某个变量的大括号中运行代码。 E.g。
if (`variable` element of `variablenames_local`) {
gen variable2 = variable + 2
}
如何在Stata中完成?
答案 0 :(得分:2)
您可以使用扩展宏函数,help extended_fcn
中记录了这些函数。在这种情况下,help macrolist
非常有用。 (我永远不会记住这些帮助文件的名称,而是通常键入help macro
或help local
并按照该帮助文件中的链接进行操作。)
sysuse auto, clear
local vars "price mpg foreign"
foreach var of varlist _all {
if `: list var in vars' {
di "do something smart with `var'"
}
}
// alternatively:
foreach var of varlist `vars' {
di "do something smart with `var'"
}