私は Stata を初めて使用します。日付を含む文字列変数を日付形式に変更するにはどうすればよいでしょうか。
変数のデータは次のようになります。
yyyy-mm-dd
後で使用するために Stata がフォーマットを認識できるように、最初にダッシュを削除する必要がありますgen var = date()
か?
ご協力ありがとうございました。
Statadate
関数は、区切り文字の削除に関してスマートです。「日付関数」セクションのヘルプ datetime_translationを参照してください。
日付がv1
フォーム内にあるyyyy-mm-dd
場合は、コマンドを指定できます。
generate v2 = date(v1, "YMD")
format %td v2
これはmaskYMD
と呼ばれ、日付の各部分が指定される順序を Stata に伝えます。2 行目は、変数に Stata の毎日の日付形式を割り当てます。つまり、データ内のその変数を見ると、人間が読める形式で表示されます。ただし、日付は 1960 年 1 月 1 日からの日数として保存されます。
date
この機能を試す最良の方法は、display
コマンドを使用することです。最初の行には、1960 年 1 月 1 日からの日数を表す整数が表示されます。2 行目には、人間が判読できる形式で日付が表示されます。
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)