美文网首页stata Stata 用法学习
Stata:文字型日期格式的转换

Stata:文字型日期格式的转换

作者: stata连享会 | 来源:发表于2018-04-09 18:00 被阅读226次

作者:Stata连享会 (知乎 | 简书 | 码云)

Stata 现场培训报名中

问题背景

导入数据后,日期变量显示为红色,是文字变量。我们需要将其转换成黑色,即数值变量。以下是待处理数据。


待处理的文字型日期变量

处理方法 1:Stata官方命令 date() 函数

  • 两步:
    • 第一步,使用 date() 函数将文字变量转化为日期变量;
    • 第二步,使用 format 命令定义日期显示格式;
  gen date_back1 = date(date_str, "MDY")
  format date_back1 %td //定义日期显示格式
  • 解释: 完成转换后的 date_back1 变量中存储的日期数值并不是你预期的 01/29/196029jan1960 样式,而是数值 28。事实上,1960 年 1 月 29 日距离 1960 年 1 月 1 日刚好是 28 天。这就是 Stata 中标记日期的规则:以 1960 年 1 月 1 日 为基准日!
  gen date_back1 = date(date_str, "MDY")
  list date* in 1/5, clean abb(20)
date()转换后的数据
因此,我们只需设定其显示格式,即可让数值 28 显示为常规的日期格式:
  format date_back1 %td //定义日期显示格式
  list date* in 1/5, clean abb(20)
定义显示格式后的日期变量

处理方法 2:外部命令 todatetime

  • 安装
net install todatetime,  ///
    from(https://raw.githubusercontent.com/mcaceresb/stata-todatetime/master/)
  • Stata 范例:
todatetime datestr, gen(date_back2) datefmt(MDY)
format dateback2 %td
两种方法对比

附:原始 dofile

*--------------------------- 
*-伪造一份文字型的日期变量
*---------------------------
  sysuse gnp96, clear
  tostring date, format(%td_NN/DD/CCYY) gen(date_str) force
  list date date_str in 1/5, clean
  

*----------
*-开始转换
*----------

*-Stata官方命令 date() 函数
  gen date_back1 = date(date_str, "MDY")
  list date* in 1/5, clean abb(20)
  
  format date_back1 %td //定义日期显示格式
  list date* in 1/5, clean abb(20)
  
  
*-外部命令:todatetime  

*-install
net install todatetime,  ///
    from(https://raw.githubusercontent.com/mcaceresb/stata-todatetime/master/)

*-Stata 范例:
todatetime date_str, gen(date_back2) datefmt(MDY)
list date* in 1/5

format date_back2 %td
list date* in 1/5

关于我们

联系我们

  • 欢迎赐稿: 欢迎将您的文章或笔记投稿至Stata连享会(公众号: StataChina),我们会保留您的署名;录用稿件达五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
  • 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 联系邮件: StataChina@163.com

Stata 现场培训报名中

连玉君Stata现场班报名中

欢迎加入Stata连享会(公众号: StataChina)

相关文章

网友评论

    本文标题:Stata:文字型日期格式的转换

    本文链接:https://www.haomeiwen.com/subject/iegihftx.html