我是 Stata 的新手,我想知道如何将包含日期的字符串变量更改为日期格式。
变量中的数据如下所示:
yyyy-mm-dd
我应该先删除破折号,以便 Stata 可以识别格式以便以后使用gen var = date()
吗?
谢谢您的帮助。
Statadate
函数在删除分隔符方面很聪明。请参阅“日期函数”部分下的帮助 datetime_translation
如果您的日期在v1
格式中,yyyy-mm-dd
您可以指定命令:
generate v2 = date(v1, "YMD")
format %td v2
这YMD
称为掩码,它告诉 Stata 指定日期部分的顺序。第二行将为变量分配 Stata 每日日期格式,这意味着当您在数据中查看该变量时,它将以人类可读的形式显示。但是,日期存储为自 1960 年 1 月 1 日以来的天数。
试验该date
功能的最佳方法是使用该display
命令。第一行将显示一个整数,表示自 1960 年 1 月 1 日以来的天数。第二行将以人类可读的格式显示日期。
display date("2013-08-14", "YMD")
display %td date("2013-08-14", "YMD")
您可以在这里查看如何在 Stata 中转换为数据或这样做
tostring datedx, replace
generate str4 dxyr1= substr(datedx,1,4)
generate str2 dxmo1 = substr(datedx,6,7)
generate str2 dxda1 = substr(datedx,9,10)
destring dx*, replace
gen datedx1 = mdy(dxmo1, dxda1, dxyr1)