检查是否针对多个值

时间:2013-02-08 22:58:02

标签: stata

我正在使用ssc install vallist生成一个输出宏的适用国家/地区列表:

r(清单):“32 36 348 392 410 76 112 152 156 203”
可选地,如果它有帮助,可以用逗号分隔,而不是空格。

如果变量的国家/地区位于该列表中的任何位置,我希望tab变量。

关于如何做到这一点的任何想法。 我想使用inlist,但我必须像这样手动传递每个国家/地区

Typing by hand works just fine
tab health if inlist(country, 32, 36, 348,... 203)

I'd like to do this
tab health if inlist(country, r(list))

也许,有什么方法可以遍历列表中的每个元素并应用带有if语句的过滤器吗?

1 个答案:

答案 0 :(得分:1)

您需要使用引号来评估本地,您需要使用逗号分隔值。以下是使用自动数据的示例。

sysuse auto
vallist rep78, sep(,)
tab foreign if inlist(rep78, `r(list)')