在 Stata 中创建指示符变量



在面板数据集中,我有3个变量:nameweekincome

我想做一个指标变量,指示income为 0 的初始周。假设一个人 X 在前 13 周有 0 income,该指标在前 13 周取值 1,否则为 0。对人员 Y 等进行相同的程序。

我尝试过按组使用,但我无法让它工作。

有什么建议吗?

一种解决方案是

bysort name (week) : gen no_income = sum(income) == 0 

该函数sum()产生累积或运行总和。因此,只要income为 0,其累积总和也保持为 0。一旦一个人赚了钱,累积的总和就会变成正数。该代码基于累积收入不能再次超过零的假设,因为在给定的一周内,income为负数。要排除这种可能性,请使用适当的额外条件,例如

bysort name (week) : gen no_income = sum(income) == 0 & income == 0 

有关具有非常相似口味的问题,请参阅此常见问题解答。元课程是将StataCorp常见问题解答视为几种资源之一。

最新更新