如何在 Stata 中使用 *?

How to use * in Stata?

我想知道如何在 Stata 中有策略地使用 * 来使我的 do-file 更干净。

我想用缺少的 (.) 替换 999 的值,以获得一长串变量,每年一个。

这是我现有的代码:

replace age_1997 = . if age_1997 == 999
replace age_1998 = . if age_1998 == 999
replace age_1999 = . if age_1999 == 999

有什么方法可以更有效地做到这一点吗?我尝试了以下方法,但没有用。

replace age* = . if age* == 999

这个问题有专门的命令

mvdecode age*, mv(999) 

这不一定比循环快:

foreach v of var age* { 
    replace `v' = . if `v' == 999 
} 

请注意 help replace 是显式的:该命令一次仅对一个变量起作用。