在面板数据集中,我有3个变量:name
,week
和income
。
我想制作一个指示变量,表示income
为0的初始周。所以说一个人X在前13周内有0 income
,指标值为1 13周,否则为0. Y人的程序相同,等等。
我尝试过按群体使用,但我无法让它发挥作用。
有什么建议吗?
答案 0 :(得分:2)
一个解决方案是
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
对于风味非常相似的问题,请参阅this FAQ。一个元课程是将StataCorp常见问题解答视为几种资源之一。