在时间序列数据集中,只有观察表示工作日,即没有周末或假日的日期,如果事件日期不存在,我们需要在Stata中确定给定事件的 closest anterior date . 我们使用Stata11(遗憾的是,商业日历不是一种选择) .

例如,我们可以在每年的 31-October 举办一次活动 . 在2014年,最接近的日期是 31-October-2014 本身,因为日期是工作日 . 然而,对于2015年,它将是 30-October-2015 ,因为第31个星期六将不包括在时间序列中 . 我们可以使用 max(date) 函数来解决这个问题 .

问题在于一个月初的事件日期 . 让我们来看看每年 01-May 的活动:2012年将没有问题,因为2012年5月1日是星期二,因此包含在我们的数据中 . 但是,对于2011年, 01-May-2011 将是一个星期日,因此不包括在时间序列中 . 时间序列中的相关部分如下所示:

clear
input long(obs_id date) double event
1 18745 20209
1 18746 20209
1 18749 20209
1 18750 20209
end
format %tdDD.NN.CCYY date
format %tdDD.NN.CCYY event

有更多的obs_ids具有不同的事件日期(一个月的开始和结束) . 我们的目标是使用活动日期自动确定每年最接近的前日期 . 对于2011年,它将是 29-April-2011 . 月份的最大功能不起作用,因为必须切换到上个月 .