【问题标题】:changing xaxis values using the ts function in R使用 R 中的 ts 函数更改 xaxis 值
【发布时间】:2023-04-10 11:47:02
【问题描述】:

我正在尝试构建时间序列图,但我的 x 轴值如下所示:

2021.0    2021.1   2021.2 

我正在处理每日数据,所以我如何转换这些值以单独显示日期。

请在图片中找到代码和结果图

这是样本数据

structure(c(66588, 65998, 65169, 61602, 34027, 35742, 59925, 
71704, 75102, 75495, 69609, 80508, 32321, 70764, 79876, 75412, 
85663, 76178, 43812, 36239, 83926, 90303, 86982, 90570, 79069, 
47774, 49293, 82493, 89992, 100158, 84245, 85948, 44326, 38927, 
84494, 90638, 91097, 70238, 43515, 31359, 28645, 86979, 92625, 
86652, 93317, 71832, 37017, 35785, 82186, 73513, 73174, 85774, 
67636, 42980, 30624, 69381, 79719, 45178, 69105, 71137, 32572, 
28636, 72140, 79726, 69389, 68333, 66964, 28935, 24619, 77359, 
73295, 73380, 78886, 63430, 38911, 25200, 72715, 76692, 74592, 
85536, 67009, 40709, 30148, 75445, 79219, 82039, 76855, 76490, 
35819, 37498, 73453, 80486, 67467, 49768, 79670, 43520, 30434, 
78926, 95601, 83391, 37936, 66017, 39637, 37156, 52911, 85748, 
88092, 85149, 78700, 37948, 39846, 80609, 95367, 74042, 98832, 
82288, 44178, 38903, 87822, 115228, 73602, 79277, 64134, 33704, 
27804, 64903, 43836, 65163, 65165, 54556, 27783, 22703, 62504, 
54022, 53725, 57737, 48504, 20937, 17031, 45022, 57736, 52789, 
45591, 34339, 34126, 15271, 27592, 54517, 49757, 108732, 38091, 
18129, 18999, 41411, 48013, 42283, 40904, 37582, 20503, 15143, 
32316, 40716, 40054, 42159, 43033, 13893, 12085, 34885, 32443, 
39982, 33933, 31142, 13957, 14471, 37613, 41714, 36315, 33887, 
28388, 14404, 13103, 30872, 30671, 31024, 27345, 24699, 13210, 
10466, 24589, 27345, 26280, 25565, 21804, 12915, 9154, 14304, 
13771, 30891, 15951, 14314, 10615, 6645, 13406, 14780, 34407, 
11202, NA, 9458, 7884, -573, 36473, 24611, 19438, 15688, 8668, 
14423, 15395, 17756, 27527, 18578, 13466, 9004, 10425, 20528, 
17893, 15591, 18172, 16451, 8639, 6918, 7359, 7852, 14288, 15239, 
11250, 5738, 7446, 12969, 15609, 16853, 14502, 11716, 6204, 5797, 
13424, 17184, 15268, 11965, 10693, 6761, 3838, 6431, 14661, 13352, 
13321, 11866, 6115, 5638, 10948), .Tsp = c(2021, 2021.70684931507, 
365), class = "ts")

【问题讨论】:

  • 在您粘贴dput(myts2) 的输出之前很难给出明确的答案。
  • dput(myts2),我不知道如何在 stackoverflow 中发布一个 dput,但我认为这可以解决问题?
  • 您必须在 R 中运行 dput(myts2),然后将输出粘贴到您的问题中(您可以对其进行编辑)。
  • ts 对象实际上并没有与之关联的日期。如果您想使用时间序列和更好的绘图,请使用 tsibble 包。对于预测,请使用 fable,因为这是预测包的后续包。

标签: r time-series


【解决方案1】:

ts 没有与之关联的日期。使用 zooreg 类将您的系列转换为 zoo 或 xts,然后进行绘图。 zoo 有经典的图形、格子图形和 ggplot2 方法。 zoo 和 xts 对象也适用于 dygraph。

如果您想将其安装到单个面板上,无论您使用什么系统,您都无法在 X 轴上单独压缩数百个日期,但如果您只是想使用日期轴,那么这很容易这样做,您可以使用这些图形系统中的任何一个的常用功能进一步自定义轴,具体取决于您具体想要什么。

library(zoo)
z <- zooreg(tt, start = as.Date("2021-01-01"))

plot(z)

library(lattice)
xyplot(z)

library(ggplot2)
autoplot(z)

library(dyraphs)
dygraph(z)

【讨论】:

    猜你喜欢
    • 2014-10-15
    • 2023-03-07
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多