Stata: как изменить строковую переменную на дату?

Я новичок в Stata, и мне интересно, как я могу изменить строковую переменную, которая содержит дату в формате даты.

данные в переменной выглядят следующим образом:

гггг-ММ-ДД

должен ли я сначала удалить тире, чтобы Stata мог распознать формат, чтобы позже использовать gen var = date() ?

Спасибо за помощь.

2 ответов


В Стата date функция умна об удалении символов разделителя. См.справка datetime_translation в разделе "функция даты"

если ваши даты в v1 в форме yyyy-mm-dd вы можете указать команды:

generate v2 = date(v1, "YMD")
format %td v2

The YMD называется маска, и он сообщает Stata порядок, в котором указаны части даты. Во второй строке переменной будет присвоен формат даты stata daily, это означает, что когда вы посмотрите на эту переменную в данных, она будет показана в удобочитаемой форме. Дата сохраняется, однако, как число дней с 1 января 1960 года.

лучший способ экспериментировать с . В первой строке будет отображаться целое число, представляющее количество дней с 1 января 1960 года. Во второй строке будет отображаться дата в удобочитаемом формате.

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)