"if" 语句中的通配符?

Wildcard inside an "if" statement?

我有一个以类似方式结尾的变量列表:

variable_1_2
variable_1_3
variable_1_4
variable_2_2
variable_2_3

等等

我想根据这些变量的所有的值定义一个变量。如果其中任何一个为 0,我希望我的新变量也为 0:

gen newVar = .
replace newVar = 0 if variable_* == 0

但是这个returns“无效名称”。

if 语句中不能使用通配符吗?有解决办法吗?

结果

generate wanted = .  

foreach v of var variable_* {  
    replace wanted = 0 if `v' == 0 
} 

如果任何参数为 0,则为 0,否则为 0。

egen anyzero = anymatch(variable_*), values(0) 

将生成一个指示符,如果任何参数为 0,则为 1;如果没有参数,则为 0。如果您需要补码,您可以随时翻转 0 和 1 作为结果。