计算失业持续时间(Stata)

Computing Unemployment duration (Stata)

我有一个跟踪相同工人的小组调查,最近一年是 2019 年。我有兴趣创建变量,通过计算变量之间的年差“left_firstjob_yr”和“start_secondjob_yr”,我确实生成了:

gen no_work_duration_1 = (start_secondjob_yr  - left_firstjob_yr)

其中“no_work_duration_1”是指从个人离开第一份工作之日到开始第二份工作之日之间没有工作的持续时间。

但是,我上述方法的一个问题是它没有考虑离开第一份工作但从未工作过的工人 again/left 缺少“.”的劳动力。 “start_secondjob_yr”列下的值。

input int(start_firstjob_yr left_firstjob_yr start_secondjob_yr left_secondjob_yr) 
2014 2015 2017 2019  
2014    .    .    .    
2011 2014    .    .    
2003 2008 2011    .    
2007 2009 2012 2014 

理想情况下,我试图让我的数据集如下所示:

clear
input int(start_firstjob_yr left_firstjob_yr) byte no_work_duration_1 int(start_secondjob_yr left_secondjob_yr) byte no_work_duration_2
2014 2015 2 2017 2019 .
2014    . .    .    . .
2011 2014 5    .    . .
2003 2008 3 2011    . .
2007 2009 3 2012 2014 2

已经澄清,对于没有第二份工作的工人,持续时间 no_work_duration 应该是离开第一份工作的区别 和 2019 年(参见对原始问题的评论)。

我冒昧地使用了一些较短的变量名。

clear

input int(j1_start j1_end j2_start j2_end) 
2014 2015 2017 2019  
2014    .    .    .    
2011 2014    .    .    
2003 2008 2011    .    
2007 2009 2012 2014
end

* No Work Duration ("nwd")
gen nwd = j2_start - j1_end

* In cases of no second job:
replace nwd = 2019 - j1_end if missing(j2_start)

list

     +---------------------------------------------+
     | j1_start   j1_end   j2_start   j2_end   nwd |
     |---------------------------------------------|
  1. |     2014     2015       2017     2019     2 |
  2. |     2014        .          .        .     . |
  3. |     2011     2014          .        .     5 |
  4. |     2003     2008       2011        .     3 |
  5. |     2007     2009       2012     2014     3 |
     +---------------------------------------------+