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)