将日期变量从 double 转换为 long
Converting a date variable from double to long
我在 Stata 中有一个日期变量,它存储为 double
,如下所示:
Date
07dec2012
08jan2018
.
.
.
显示格式为:%td
。我想将此变量转换为 long
格式,以便我可以将其用于固定效应分析。有简单的方法吗?
long
是变量或存储类型,不是(显示)格式。
大多数实践中出现的每日日期可以存储为 int
变量,因此 compress
将实现这一点。
. clear
. set obs 1
Number of observations (_N) was 0, now 1.
. gen double date = mdy(1, 8, 2018)
. compress
variable date was double now int
我不知道 double
对你想做的事来说是个问题,我不明白为什么 long
比 int
更受欢迎。
编辑报告的日期范围也可以测试
. clear
. set obs 2
Number of observations (_N) was 0, now 2.
. gen double Date = cond(_n==1, -19903, 22280)
. format Date %td
. l
+-----------+
| Date |
|-----------|
1. | 05jul1905 |
2. | 31dec2020 |
+-----------+
. compress Date
variable Date was double now int
(12 bytes saved)
我在 Stata 中有一个日期变量,它存储为 double
,如下所示:
Date
07dec2012
08jan2018
.
.
.
显示格式为:%td
。我想将此变量转换为 long
格式,以便我可以将其用于固定效应分析。有简单的方法吗?
long
是变量或存储类型,不是(显示)格式。
大多数实践中出现的每日日期可以存储为 int
变量,因此 compress
将实现这一点。
. clear
. set obs 1
Number of observations (_N) was 0, now 1.
. gen double date = mdy(1, 8, 2018)
. compress
variable date was double now int
我不知道 double
对你想做的事来说是个问题,我不明白为什么 long
比 int
更受欢迎。
编辑报告的日期范围也可以测试
. clear
. set obs 2
Number of observations (_N) was 0, now 2.
. gen double Date = cond(_n==1, -19903, 22280)
. format Date %td
. l
+-----------+
| Date |
|-----------|
1. | 05jul1905 |
2. | 31dec2020 |
+-----------+
. compress Date
variable Date was double now int
(12 bytes saved)