为了清理一些数据,我想用标记标记一些观察结果。当变量为负数时(对于应该始终为正的变量)。这很简单:
gen tag = 1 if var<0
问题是我标记的这些观察结果是更大群体的一部分。这些组现在是可疑的,我想标记组内具有相同标签的所有观察结果(我假设存在组级测量错误)。
如果这些特定的观察结果可能实际上不是负面的(因此没有标记),我如何考虑将标记扩展到组内的其他观察结果?
答案 0 :(得分:2)
egen
(扩展生成)对此非常有用:
sysuse auto, clear
bysort foreign: egen tag = max(price>15000)
这将标记所有国产车,因为其中一款凯迪拉克车型售价超过15K。
这个更大的条件将包括缺失,因为Stata认为它们是非常大的正数,但这不是问题,因为此数据中的价格永远不会丢失。你可以用
排除缺失bysort foreign: egen tag = max(price>15000 & !missing(price))