在面板数据集中,我有3个变量:name
、week
和income
。
我想做一个指标变量,指示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常见问题解答视为几种资源之一。