如果 Stata 中至少有两个虚拟变量 == 1,如何生成变量 = 1?
how to gen variable = 1 if at least two dummy variables == 1 in Stata?
如果至少有两个或更多(七个中的)虚拟变量也 == 1,我正在尝试生成一个虚拟变量 = 1。有人能告诉我一个有效的方法吗?
让我们假设相关的 指标变量 (你说 "dummy variables",但考虑到它的缺点,这是一个过度使用的术语)是 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
的帮助。
如果至少有两个或更多(七个中的)虚拟变量也 == 1,我正在尝试生成一个虚拟变量 = 1。有人能告诉我一个有效的方法吗?
让我们假设相关的 指标变量 (你说 "dummy variables",但考虑到它的缺点,这是一个过度使用的术语)是 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
的帮助。