我有一个数据集,其中有一个变量
month
,其显示格式为 %tdMon-YY
(例如 Jan-2024)和一个整数格式的汇率变量。我需要在 2020 年 3 月绘制两者的折线图和一条垂直线。我使用了以下代码:
line exchange_rate month, xline("Mar-2020")
但这给了我一个错误,我认为这是由于输入的“Mar-2020”不是字符串格式造成的。我已经为一个整数的年份变量做了相同的代码,如果我执行以下操作,那么它会运行良好。
line exchange_rate year, xline(2020)
我想这里唯一的问题是我如何引用 2020 年 3 月,所以任何人都可以帮助我理解如何使用正确的格式来做到这一点 (
%tdMon-YY
)。
正如一年中运行的代码所示,
xline()
需要数字参数。
您的日期变量显然是每日日期变量,但您只关心每月日期部分。快速计算表明,作为每日日期,2020 年 3 月 1 日是
. di mdy(3, 1, 2020)
21975
显然,您可以类似地获得 2020 年 3 月内的任何每日日期。所以你可以使用
xline(21975)
或
xline(`=mdy(3, 1, 2020)`)
或者您可以使用便利功能
td()
。
还有其他方法可以做到。
如果您的每日日期变量有例如日期,例如 ..., 2020 年 2 月 1 日、2020 年 3 月 1 日、2020 年 4 月 1 日,... 在某些时候,您会发现使用
mofd()
将其转换为每月日期变量很方便,甚至有必要。
没有办法理解 Stata 中不运行的日期处理方式
help datetime
。