如果在Stata中至少有两个虚拟变量== 1,如何生成变量= 1?

时间:2015-06-29 16:00:00

标签: statistics stata economics dummy-variable

我正在尝试生成一个虚拟变量= 1,如果至少有两个或更多(七个)虚拟变量也= = 1.有人能告诉我一个有效的方法吗?

1 个答案:

答案 0 :(得分:1)

让我们假设指标变量关注(你说“虚拟变量”,但这是一个过度使用的术语,因为它的缺点)是x1 ... x7 。根据该定义,它们的值为1或0,除了值也可能丢失。然后,您想要的摘要的逻辑是

gen xs = (x1 + x2 + x3 + x4 + x5 + x6 + x7) >= 2 if (x1 + x2 + x3 + x4 + x5 + x6 + x7) < . 

这不是很难打字,给定复制和粘贴来复制总和的语法。 if限定符将任何指标上缺少的任何观察值分开,对于新变量将返回缺失的指示。这些观察结果将被报告为缺少总数x1 + x2 + x3 + x4 + x5 + x6 + x7。缺失在Stata中被视为任意大,当然大于2,这解释了为什么更简单的代码

gen xs = (x1 + x2 + x3 + x4 + x5 + x6 + x7) >= 2 
如果有错误,

会咬你的。

如果您想要更复杂的规则,您可能会发现自己可以使用egen个函数rowtotal()rowmiss()等等。请参阅egen的帮助。