"if"语句中的通配符?

  • 本文关键字:通配符 if 语句 stata
  • 更新时间 :
  • 英文 :


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

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

然而,这返回";无效名称";。

通配符不能在if语句中使用吗?有办法绕过这个吗?

的结果

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新