いま、データセットが、
変数名 time_stamp
中身の例 2008/10/31 23:59
となっているとき
この
2008/10/31 23:59
は、HRFsという形のフォーマット。人が読む用の。
同じものを表すSTATA用のフォーマットSIFがあり、
display %20.0gc clock("2008/10/31 23:59","YMD hm")
とすると、対応するSIFの値が表示される。
この場合は
1,541,116,740,000
さて、表示するだけでなく、SIFの形の新しい変数(eventtimeとする)を作りたい場合
gen double eventtime = clock(time_stamp, "YMDhm")
でいける。
ここで、double型じゃないといけないので、genのすぐ後にdoubleって入れた。
YMDhmは、Year~minuteまで。secondも入ってるならsまで入れる。
ここで新しくできた変数は、年から分まで入ってるけど、これを年・月・日だけにしたい場合は、新しい変数eventdateを用いて、
gen eventdate = dofc(eventtime)
とすると、年・月・日だけののSIFの値が入った列が作成される。
これをSIFではなくHRFにしたい場合は、
format eventdate %td
で、18jun2009のようなHRFの表示に代わる。
ここで出てきた
dofc()や%tdなどについては、
http://www.stata.com/manuals13/ddatetime.pdf
の Displaying SIFs in HRF と SIF-to-SIF conversion に載っている。