在Stata中创建指标变量

时间:2014-12-08 07:47:02

标签: stata data-manipulation

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

我想制作一个指示变量,表示income为0的初始周。所以说一个人X在前13周内有0 income,指标值为1 13周,否则为0. Y人的程序相同,等等。

我尝试过按群体使用,但我无法让它发挥作用。

有什么建议吗?

1 个答案:

答案 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常见问题解答视为几种资源之一。