gpt4 book ai didi

r - x轴为日期(即时间序列数据)时使用abline()

转载 作者:行者123 更新时间:2023-12-04 11:24:59 24 4
gpt4 key购买 nike

我想向图中添加多条垂直线。

通常,您会指定abline(v=x-intercept),但我的x轴的格式为Jan-95-Dec-09。例如在2月95日,我将如何调整绝对代码以添加垂直线?

我已经尝试过abline(v=as.Date("Jan-95"))和这段代码的其他变体。

之后,可以用一段代码添加多条垂直线,例如Feb-95,Feb-97和Jan-98?

另一种解决方案是更改我的绘图,我有一个包含月份信息的列和一个包含年份信息的列,如何与它们协作以在X轴上显示一个年份月份?

 example[25:30,]
Year Month YRM TBC
25 1997 1 Jan-97 136
26 1997 2 Feb-97 157
27 1997 3 Mar-97 163
28 1997 4 Apr-97 152
29 1997 5 May-97 151
30 1997 6 Jun-97 170

最佳答案

第一个注意事项:YRM列可能是一个因素,而不是日期时间对象,除非您手动对其进行了转换。我假设我们不想这样做,并且将YRM作为一个因素,我们的图看起来很好。
在这种情况下

vline_month <- function(s) abline(v=which(s==levels(df$YRM)))
# keep original order of levels
df$YRM <- factor(df$YRM, levels=unique(df$YRM))
plot(df$YRM, df$TBC)
vline_month(c("Jan-97", "Apr-97"))

免责声明:此解决方案是一个快速的技巧;它既不是通用的也不是可扩展的。有关日期时间对象及其可扩展工具的准确表示,请参阅软件包 zooxts

关于r - x轴为日期(即时间序列数据)时使用abline(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com