如果至少有两个或更多(七个)虚拟变量也== 1,我正在尝试生成一个= 1的虚拟变量。有人能告诉我这样做的有效方法吗?
问问题
941 次
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 回答