将标签扩展为更大的观察组

时间:2018-01-23 20:06:28

标签: tags stata

为了清理一些数据,我想用标记标记一些观察结果。当变量为负数时(对于应该始终为正的变量)。这很简单:

gen tag = 1 if var<0

问题是我标记的这些观察结果是更大群体的一部分。这些组现在是可疑的,我想标记组内具有相同标签的所有观察结果(我假设存在组级测量错误)。

如果这些特定的观察结果可能实际上不是负面的(因此没有标记),我如何考虑将标记扩展到组内的其他观察结果?

1 个答案:

答案 0 :(得分:2)

egen(扩展生成)对此非常有用:

sysuse auto, clear
bysort foreign: egen tag = max(price>15000)

这将标记所有国产车,因为其中一款凯迪拉克车型售价超过15K。

这个更大的条件将包括缺失,因为Stata认为它们是非常大的正数,但这不是问题,因为此数据中的价格永远不会丢失。你可以用

排除缺失
bysort foreign: egen tag = max(price>15000 & !missing(price))