计算是否满足varlist中的多个条件

时间:2019-01-06 18:06:39

标签: if-statement foreach count stata

我试图基于多个条件对许多字符串变量(deploying react app on firebase等)的值进行计数,并将输出发送到新变量hh_1_age hh_2_age hh_3_age

我认为我得到的最接近的代码如下...但是我仍然收到错误消息。我希望我走在正确的轨道上,这只是一个小语法错误:

schoolage

1 个答案:

答案 0 :(得分:1)

与给出的少量信息相比,这需要大量的猜测。请注意关于here的良好Stata问题的建议,其中包括基于真实(真实)数据的可重现示例。

您可能拥有家庭单个成员的数据,并希望计算多少个入学年龄,即6至14岁。

gen schoolage = 0 

foreach v of var hh_*_age { 
    replace schoolage = schoolage + inlist(`v', "6 - 10 years of age", "11 - 14 years of age") 
}

将是对此的一种解决方案。

请注意,当您报告时,这假设所讨论的变量确实是字符串。此外,对相等性的检查完全是字面意义:所有字符必须依次匹配。

在大多数情况下,将您的个人数据保存在单独的观察结果中比您的问题似乎暗示的要好得多。