在 R 中绘制预测的自定义轴标签

2023-12-29

我正在尝试在预测上添加一些合理的标签。

这是我的代码:

library("forecast")

t <- ts(
  c(
    4410.0, 6435.0, 
    4939.0, 6487.0, 25521.0, 18764.0, 
    12223.0, 18590.0, 36898.0, 28826.0, 
    20329.0
    )  
  , frequency = 4
  , start=c(2011, 7, 1)
)

cast <- meanf(t,h=4)

par(mfrow=c(1,1),xaxt="n")
plot(cast)

ticks <- seq(as.POSIXct("2011-07-01"), by = "3 month", length.out=length(cast) + 4) 
axis.Date(1, at = ticks, labels = ticks, format="%Y-%m")

没有错误或警告...但没有轴添加到图中:(

如果我使用xaxt="s"然后我确实得到了轴标签,但它们不是像 2014.0 这样的东西(即根本没有格式化为日期)。理想情况下,我实际上想要一些更具可读性的内容,例如“2014 年第三季度”,但我会选择 2014-07(该季度的第一个月)。

知道我做错了什么吗?我在互联网上搜索到的所有内容都建议禁用默认轴,然后使用 axis 或 axis.Date 函数添加自定义...但我无法使用这些方法中的任何一种获得任何类型的轴:(


我不会说有错误,而是说功能有forecast::plot.forecast不适合与以下设备一起使用axis.Date or axis.POSIXct(包中未使用forecast).

调用函数之前axis.Date and axis.POSIXct,时间点必须明确传递给plot作为一个序列Date or POSIXct对象。如果我们将时间序列绘制为plot(t)那么 x 轴似乎没有被正确定义为供上述函数使用。

请参阅下面的代码以及变量如何time创建并传递给plot. plot(time, x)被使用而不是仅仅plot(x)。因此函数axis将能够显示时间轴的标签。 (在这个例子中,置信区间看起来不像那些 显示者forecast::plot.forecast.)

library("forecast")
require(zoo)

t <- ts(
  c(
    4410.0, 6435.0, 
    4939.0, 6487.0, 25521.0, 18764.0, 
    12223.0, 18590.0, 36898.0, 28826.0, 
    20329.0
    )  
  , frequency = 4
  , start=c(2011, 7, 1)
)
cast <- meanf(t, h=4)

x <- ts(c(t, cast$mean), start = c(start(t), 1), frequency = frequency(t))
time <- as.yearqtr(seq(start(x)[1], end(x)[1] + 1, 1/frequency(x)))
time <- time[seq_along(x)]
time <- as.POSIXct(time)
plot(time, x, type = "n", xaxt = "n", ylim = range(c(cast$lower, cast$upper)))
lines(time[seq_along(t)], t)
lines(time[-seq_along(t)], cast$mean, col = "blue")
lines(time[-seq_along(t)], cast$upper[,2], col = "red")
lines(time[-seq_along(t)], cast$lower[,2], col = "red")
ticks <- seq(as.POSIXct("2011-07-01"), by = "3 month", length.out=length(cast) + 4) 
axis(side = 1, at = ticks, labels = ticks)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中绘制预测的自定义轴标签 的相关文章

  • 带有用户输入的knitr

    我正在使用 R markdown 并使用 Rstudio 来 Knit 我有以下 R markdown 文件 title Untitled author date output html document r setup include F
  • R - 正则表达式错误(PCRE 版本)

    我正在尝试使用koRpus在 R 中在运行 RHEL6 的 Linux 服务器上进行词形还原 上周 当我安装了 MRO Microsoft R Open 3 2 3 时 下面的代码效果很好 library koRpus lw c danci
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • 将summary()写入as.data.frame以在ggplot / R中使用

    请查找 af 数据样本t below 我正在使用以下方法进行竞争风险分析etmCIF来自etm package 产生以下结果 这很好 但需要更好的图形 曾经有一个ggtrans etm函数将数据导入ggplot 然而 这个功能显然被删除了
  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • 使用outer代替expand.grid

    我正在寻找尽可能快的速度并留在基地做该做的事expand grid做 我用过outer为过去类似的目的创建一个向量 像这样的东西 v lt outer letters LETTERS paste0 unlist v lower tri v
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • 使用predictNLS围绕R中的拟合值创建置信区间?

    我想使用 R 中 propogate 包中的 PredictNLS 围绕一大组拟合值构建置信区间 作为示例 我将使用它们在函数描述中引用的数据集 https rdrr io github anspiess propagate man pre
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐