如何取消仅包含年份的 Stata 中的日期?

How to destring a date in Stata containing just the year?

我在 Stata 中有一个名为 YEAR 的字符串变量,格式为 "aaaa"(例如 2011)。我想用 "31decaaaa"destring 替换 "aaaa" 获得的变量。

我的感觉是,最好的处理方式可能是首先 destring 变量 YEAR 然后添加 "31dec"。对于 destring 变量 YEAR 我已经尝试了命令 date 但它似乎不起作用。有什么建议吗?

最好在此处描述您的最终目标,因为使用 destring 似乎正是您下一步的想法。

如果您的目标是给定字符串变量 year,生成每年 12 月 31 日的每日日期变量,则 destring 不是必需的。以下是三种方法:

gen date = daily("31 Dec" + year, "DMY") 

gen date = date("31 Dec" + year, "DMY") 

gen date = mdy(12, 31, real(year))

顺便说一下,在相隔 365 或 366 天的每日日期中使用 Stata 可能不会有任何好处,因为它们只是创建了一个主要是隐式间隙的时间序列。 如果您的数据是年度数据,但仅与每个日历年的末尾相关联,请将它们保留为年度数据并使用显示格式在输出中显示“12 月 31 日”或等效内容。

. di %ty!3!1_!D!e!c_CCYY 2015
31 Dec 2015

详情。 date() 在 Stata 中是一个函数,而不是一个命令。我们无法对 "does not seem to work" 发表评论,因为没有详细说明您尝试了什么或发生了什么。 daily() 只是 date() 的同义词。