【问题标题】:How to plot a range of data with time in hh:mm:ss.000 format in R?如何在R中以hh:mm:ss.000格式绘制一系列数据?
【发布时间】:2011-03-21 05:28:36
【问题描述】:

我需要用 R 绘制一组数据(1M 行)。时间列(第 1 列)采用 hh:mm:ss.000 格式。我想在一个时间范围内绘制图表,比如从 08:05:00 到 09:00:00。我该怎么做?我在网上搜索,但找不到正确设置 xlim 的方法。

这是数据的简短示例。第 1 列是时间,第 2、3、4.. 列将在 y 轴上。 07:51:19.553,10.785,0.000,0.392,1.512,1.527,1.553,1.560,2.838

08:05:00.661,-1.555,0.000,0.041,0.310,0.314,0.321,0.327,1.474

08:06:58.250,30.781,0.000,0.093,0.156,0.160,0.168,0.173,1.411

08:30:02.506,-0.002,0.000,0.052,0.120,0.123,0.132,0.137,1.361

09:05:00.997,-1.802,0.000,0.032,0.078,0.080,0.087,0.090,1.258

10:05:00.661,-1.555,0.000,0.041,0.310,0.314,0.321,0.327,1.474

提前感谢您的帮助。

【问题讨论】:

    标签: r plot time-series


    【解决方案1】:

    真的想要使用适当的时间序列类,例如 zooxts

    子集、绘图……然后免费提供。从出色的 zoo 文档开始,然后再切换到 xts 以获得更好的性能和子集。

    现在,一百万行太多了,因为您最终得到的数据多于像素 - 但至少这会给您一个总结数据的机会。

    这是一个简单的说明:

    > options(digits.sec=3)      ## important: turn on milli-sec via print()
    > library(xts)
    Loading required package: zoo
    > X <- xts(cumsum(rnorm(100)), order.by=Sys.time()+cumsum(runif(100)/10))
    > plot(X)
    

    【讨论】:

    • 感谢您的回复。忍受我。我是 R 中的新手。> library(xts) library(xts) 中的错误:没有名为“xts”的包我还需要别的东西吗?我有 R 版本 2.11.1 (2010-05-31)
    • 啊,是的:install.packages(c("zoo", "xts")) 并选择附近的镜子。
    • 看起来我无法访问存储库的索引。不确定我的公司是否阻止访问。也许我会在家里试试。谢谢。
    【解决方案2】:

    要将字符向量更改为“日期和时间”对象,POSIXlt(ct) 对象,函数strptime() 将派上用场。下面是一个简短的例子。

    dtm <-  strptime(c("1.1.2010 11:35"), format =  "%d.%m.%Y %H:%M", tz = "CET")
    

    【讨论】:

    • 在 hh:mm:ss.000 中显示字符串没有问题。问题在于绘图的限制时间范围
    猜你喜欢
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    相关资源
    最近更新 更多