【问题标题】:How to plot the this time series data如何绘制这个时间序列数据
【发布时间】:2015-02-03 12:37:29
【问题描述】:

我有以下数据显示不同日期的变量值。如何绘制这些数据?数据如下所示。 b 列在 2004 年上升。

       a          b
1     44 1990-12-06
2      5 1990-12-06
3     17 1992-04-18
4     64 1992-04-18
5     58 1992-11-27
6      0 1992-11-27
7     52 1992-12-26
8      4 1992-12-26
9    277 1993-01-02
10    52 1993-01-23
11     7 1993-01-23
...

a & b 列是可互换的。我想将其绘制为从开始年到结束年的表现。

任何帮助将不胜感激

【问题讨论】:

    标签: r plot time-series


    【解决方案1】:

    简单的时间序列图是否符合您的要求?

    foo <- structure(list(a = c(44, 5, 17, 64, 58, 0, 52, 4, 277, 52, 7), 
        b = structure(c(7644, 7644, 8143, 8143, 8366, 8366, 8395, 
        8395, 8402, 8423, 8423), class = "Date")), .Names = c("a", 
    "b"), row.names = c(NA, -11L), class = "data.frame")
    plot(foo$b,foo$a,type="o")
    

    如果您有 许多 个值,我建议将它们绘制为灰色(这样您就不会丢失原始数据)并用平滑曲线覆盖它们,如下所示:

    foo <- data.frame(a=rnorm(366),b=as.Date("2015-01-01")+(0:365))
    plot(foo$b,foo$a,type="o",col="grey")
    lines(foo$b,predict(loess(a~as.numeric(b),foo)),lwd=2)
    

    顺便说一句,this textbook section on graphical time series tools 可能会有所帮助。

    【讨论】:

    • 斯蒂芬,谢谢。那是我以为我想要的。所以你的回答确实有帮助。但是输出相当混乱,因为大约有 250 个值。我想我想显示更平滑的曲线或更好的移动平均线。谢谢 Ganesh
    • 如果您有很多数据点,我会通过建议编辑答案。
    • Stephan - 这太棒了,这正是医生所要求的!我已经实现了移动平均线,它看起来很酷。问候 Ganesh
    • 不客气。随时accept my answer if it was helpful。你得到代表,我得到代表,人们看到这个答案解决了问题,每个人都赢了。
    猜你喜欢
    • 2011-09-30
    • 1970-01-01
    • 2020-04-09
    • 2013-12-25
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    相关资源
    最近更新 更多