Datetime 如何设置耗时2个月的时间变量(双月数据)?
我找不到一种方法来定义Stata中需要两个月时间的时间变量。我在其他论坛上找到了定义3个月(季度)间隔或将其定义为一个学期的方法,但这不是我想要的 我有一个这样的数据集Datetime 如何设置耗时2个月的时间变量(双月数据)?,datetime,time,time-series,stata,Datetime,Time,Time Series,Stata,我找不到一种方法来定义Stata中需要两个月时间的时间变量。我在其他论坛上找到了定义3个月(季度)间隔或将其定义为一个学期的方法,但这不是我想要的 我有一个这样的数据集 year month observation 2000 1 40 2000 2 10 2000 3 50 2000 4 10 我创建了一个变量biu\u monthas year month bi_month observation 2000 1
year month observation
2000 1 40
2000 2 10
2000 3 50
2000 4 10
我创建了一个变量biu\u month
as
year month bi_month observation
2000 1 1 40
2000 2 1 10
2000 3 2 50
2000 4 2 10
但是在这里,我不能使用下面的代码,也不能使用tsset
命令(因为它没有定义双月数据的命令)
因为Stata读取的biu_month
表示从1到12的月份 作为一个术语,双月(或双月)在我看来并不是特别透明。我建议两个月两次,两个月两次
这里的主要问题似乎是希望将月度数据聚合为两个月的数据,特别是间隔1-2月,…,11-12月。为此,我建议用每个月的第一个月表示两个月
clear
input year month whatever
2000 1 40
2000 2 10
2000 3 50
2000 4 10
end
gen mdate = ym(year, month)
gen m2date = 2 * floor(mdate/2)
format m*date %tm
list
+-------------------------------------------+
| year month whatever mdate m2date |
|-------------------------------------------|
1. | 2000 1 40 2000m1 2000m1 |
2. | 2000 2 10 2000m2 2000m1 |
3. | 2000 3 50 2000m3 2000m3 |
4. | 2000 4 10 2000m4 2000m3 |
+-------------------------------------------+
现在,这样的数据不能使用新的两个月日期tsset
或xtset
,因为每个这样的日期在数据集中都不是唯一的
但是假设您减少了数据集,使每个两个月的日期只发生一次(或者,最多每个面板发生一次)。现在tsset
或xtset
已触手可及,所需的调整就是设置delta(2)
以每两个月的第二个月来表示每两个月的时间段同样是系统的。只需在上面的m2date
配方中添加1即可
注意:严格地说,
xtset
只需要面板标识符,不要求每个面板最多出现一次。我不确定这是否广泛有用,但这是另一回事 谢谢,这是一个很好的解决方案!糟糕的是,没有两个月一次的口译,你可以加上分钟、小时、上午/下午、两周、四个月、两年一次、四年一次。。。作为时间单位,Stata不直接支持,但您真正缺少的是什么?有了一两个额外的命令,定义自己的时间基础并不困难。
clear
input year month whatever
2000 1 40
2000 2 10
2000 3 50
2000 4 10
end
gen mdate = ym(year, month)
gen m2date = 2 * floor(mdate/2)
format m*date %tm
list
+-------------------------------------------+
| year month whatever mdate m2date |
|-------------------------------------------|
1. | 2000 1 40 2000m1 2000m1 |
2. | 2000 2 10 2000m2 2000m1 |
3. | 2000 3 50 2000m3 2000m3 |
4. | 2000 4 10 2000m4 2000m3 |
+-------------------------------------------+
collapse whatever, by(year m2date)
tsset m2date, delta(2)
list
+--------------------------+
| year m2date whatever |
|--------------------------|
1. | 2000 2000m1 25 |
2. | 2000 2000m3 30 |
+--------------------------+