添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

File metadata and controls

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

Stata连享会 精彩推文1 || 精彩推文2

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

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

  • 第一步,使用 date() 函数将文字变量转化为日期变量;
  • 第二步,使用 format 命令定义日期显示格式;
  •   gen date_back1 = date(date_str, "MDY")
      format date_back1 %td //定义日期显示格式
  • 解释: 完成转换后的 date_back1 变量中存储的日期数值并不是你预期的 01/29/1960 29jan1960 样式,而是数值 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)
    因此,我们只需设定其显示格式,即可让数值 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 应用的各种经验和技巧。
  • 公众号推文同步发布于 CSDN-Stata连享会 简书-Stata连享会 知乎-连玉君Stata专栏 。可以在上述网站中搜索关键词 Stata Stata连享会 后关注我们。
  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
  • ……Stata 连享会精彩推文……
  • 欢迎赐稿: 欢迎将您的文章或笔记投稿至 Stata连享会(公众号: StataChina) ,我们会保留您的署名;录用稿件达 五篇 以上,即可 免费 获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
  • 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可 免费 获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 联系邮件: [email protected]
  • 往期精彩推文

    Stata连享会推文列表

    Stata连享会 精彩推文1 || 精彩推文2