【问题标题】:R programming for time series时间序列的 R 编程
【发布时间】:2016-07-08 05:35:26
【问题描述】:

我正在处理 excel 中数以百万计的庞大数据文件,格式如下: 文件包含一周内每秒的数据值

时间价值 ;价值

29.07.2015 20:57:20 ; 972.422

29.07.2015 20:57:21 ;972.402

我想为这些数据绘制时间序列。 我尝试使用正常的绘图功能和 read.csv 命令,但没有得到正确的结果。 我也尝试了 zoo 包,并且使用 zoo 我收到了这个错误

在动物园(rval3,ix): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用。 我在我的 csv 文件上使用了 unique 函数,仍然得到相同的值。 有人可以指导我如何解决这个任务。

(PS:我是 R 新手)

【问题讨论】:

    标签: r


    【解决方案1】:

    这将读取具有相同日期/时间的数据平均行。将text = Lines 替换为file = "myfile" 之类的东西:

    Lines <- "Timevalue ;value
    29.07.2015 20:57:20 ; 972.422
    29.07.2015 20:57:21 ;972.402"
    
    library(zoo)
    z <- read.zoo(text = Lines, header = TRUE, sep = ";", aggregate = mean,
      format = "%d.%m.%Y %H:%M:%H", tz = "")
    
    plot(z)
    

    另外,请注意您收到的消息不是错误消息。这是一条警告信息。

    【讨论】:

    • 你好,抱歉回复晚了,我正在更改我的数据集,我的数据集包含重复条目,我希望动物园处理重复项,这可能吗?或者还有其他一些我可以用于多次输入的包?
    • xts 包可以处理重复。
    【解决方案2】:

    我会首先检查时间列是否具有时间格式(如 POSIXlt) 与 str() 如果它没有然后用这样的东西转换它, as.POSIXlt(timesColumn, format = "%d.%m.%Y, %H:%M:%S")

    然后你可以尝试绘制它

    【讨论】:

      猜你喜欢
      • 2022-11-29
      • 1970-01-01
      • 2011-04-22
      • 2020-09-15
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多