-4

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

4

1 回答 1

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缺少总数。Missing 在 Stata 中被视为任意大,而且肯定大于 2,这就解释了为什么更简单的代码

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

如果有遗漏,会咬你。

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

于 2015-06-29T17:32:30.730 回答