t

taicool

V1

2022/08/21阅读:25主题:默认主题

stata中时间字符转换的小技巧

stata中时间字符转换的小技巧

1 当年份是字符型数据时候

destring date,replace ignore(-)

gen ymd=date(year1,"YMD")
gen year1=year(ymd)
gen month=month(ymd)
gen day=day(ymd)

2 时间变量显示为yyyymmdd的格式

假设时间变量名为v1,显示为yyyymmdd的形式 对于v1是数字格式的情况,可用如下代码转换为Stata时间日期格式

gen year=int(v1/10000)
gen month=int((v1-year*10000)/100)
gen day=int((v1-year*10000-month*100))
gen date=mdy(month,day,year)
format date %td

或对于v1是字符串格式的情况,还可以可使用如下代码:

gen date=date(v1,"YMD")
format date %td %tm %tq %th %ty

3 年份已经是数字型数据的格式

例如date/month/year,具体如01nov1999在%td格式下面是一段奇怪数字,应进行如下结构转换

把日数据变成月度数据:
还是假设时间变量名为v1
gen ym=mofd(v1)
如果变成年度数据;
gen ym=yofd(V1)
如果变成季度数据:
gen yq=qofd(V1)

所以对于已经是01nov1999格式特别是wind数据库下载就存在日/月/年格式本身已经被设置好为数值型年份格式,如果要提取转变为年月或年份数据,采用字符型公式转换会是一段奇怪数值

4 结束语

欢迎各位爱好者提出更好方法,也希望那些初学者不用苦恼到处翻帖找不到处理方法,不得不用Excel处理好再导,浪费很多宝贵时间,本帖是希望让更多初学者少走弯路,避免大量时间研究这种重复性问题,能花更多时间进行开创性研究。 更多文档请参考本人经管之家发帖 [1]

参考资料

[1]

就如何在stata中转换年度月度日度方法进行汇总: https://bbs.pinggu.org/thread-7088770-1-1.html/

分类:

后端

标签:

数据结构与算法

作者介绍

t
taicool
V1