在Stata中创建指示符变量

在Stata中创建指示符变量,stata,data-manipulation,Stata,Data Manipulation,在面板数据集中,我有3个变量:name、week和income 我想制作一个指标变量,用于指示收入为0的最初几周。因此,假设一个人X在前13周的收入为0,则该指标在前13周的值为1,否则为0。对Y等人员执行相同的程序 我试过分组使用,但无法使其正常工作 有什么建议吗?一个解决方案是 bysort name (week) : gen no_income = sum(income) == 0 函数sum()产生累积或运行总和。因此,只要收入为0,其累计总和也保持为0。一个人一挣到什么东西,累计金

在面板数据集中,我有3个变量:
name
week
income

我想制作一个指标变量,用于指示
收入
为0的最初几周。因此,假设一个人X在前13周的收入为0,则该指标在前13周的值为1,否则为0。对Y等人员执行相同的程序

我试过分组使用,但无法使其正常工作

有什么建议吗?

一个解决方案是

bysort name (week) : gen no_income = sum(income) == 0 
函数
sum()
产生累积或运行总和。因此,只要
收入
为0,其累计总和也保持为0。一个人一挣到什么东西,累计金额就变成正数。该代码基于累积收入不能再次超过零的假设,因为在给定的一周内,
收入
为负值。要排除这种可能性,请使用适当的附加条件,例如

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

有关味道非常相似的问题,请参阅。元课程是将StataCorp常见问题作为几种资源之一

您应该始终显示代码尝试,包括失败的代码。很多人在没有代码的情况下不会回答问题,我们也无法解释您的误解。谢谢您的帮助。比如说,我还想在收入保持恒定超过四周的情况下标记观察结果。如何构造这样的代码?这是一个新问题,但要寻找常量值的咒语。关于原则的讨论,以及ssc inst TSSpill提供的专用命令。或者,如果您生成收入的累积总和,则累积总和必须等于四周前的值,但这还不够。等等