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

🎦 效率分析 · 进阶 最新模型和工具
📅 2021 年 11 月 13-14;20-21 日
🔑 张宁教授 (山东大学);杜克锐副教授 (厦门大学)
🍓 课程主页https://gitee.com/lianxh/TE

实现经济增长的途径主要有两个:一是增加投入,二是提高效率。后者不仅能增加经济总量,还能提升经济质量。因此,效率分析是经济学研究中的核心。

显然,若想发表高水平的论文,就必须紧跟前沿,引领趋势,这正是本期「效率分析·进阶班」课程的主旨。

张宁教授在环境效率和非期望产出领域学者中排名第二,他在 Science, Nature, Cell 和 Lancet 上均有发表。杜克锐副教授已在 SSC 发布了十余个 Stata 命令,有三篇论文发表于 Stata Journal,获得 2020 年 Stata 中国用户奖。

课程包括参数方法和非参数方法两个部分:

  • 参数方法主要包括参数线性规划(Parametric LP)、计量经济方法和随机前沿方法(SFA)三大方法。
  • 非参数方法,即 DEA 方法,主要包括 DDF, NDDF 和 SBM 等模型。


重要福利: 本课程所涉及的参数和非参数效率模型,老师们都将会提供封装后的 Stata 估计命令,只需几条简单的命令即可实现最新的模型。老师们也会分享编写过程心得,让大家有能力对这些封装程序进行修改和扩展。

扫码直达课程主页:

作者:连玉君 (中山大学)
E-Mail: arlionn@163.com


目录

  • 问题背景

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

  • 处理方法 2:外部命令 todatetime


温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:

问题背景

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

处理方法 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  

*-installnet 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 %tdlist date* in 1/5

New! Stata 搜索神器:lianxhsongbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
(0)

相关推荐