【问题标题】:Problem with rbind.zoo(...) : indexes overlap in lag functionrbind.zoo(...) 的问题:索引在滞后函数中重叠
【发布时间】:2023-04-09 11:12:01
【问题描述】:

我在使用 lag.zoo 函数时遇到了动物园错误

rbind.zoo(...) 中的错误:索引重叠 警告:在 zoo(rval[i], index(x)[i]) 中: 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用

t1<-c("21.04.2019 20:00:00","21.04.2019 20:01:00","21.04.2019 20:02:00","21.04.2019 20:03:00","21.04.2019 20:04:00","21.04.2019 20:05:00","21.04.2019 20:06:00","21.04.2019 20:07:00","21.04.2019 20:08:00","21.04.2019 20:09:00","21.04.2019 20:10:00","21.04.2019 20:11:00")

v1<-c(15,15,15,14,15,14,15,14,15,15,15,14)

z1<-zoo(v1, as.POSIXct(strptime((t1), "%d.%m.%Y %H:%M:%S")))

head(lag(z1[,1], 2))

使用 k=1 可以返回原始时间,没有延迟(并且没有错误和警告)

【问题讨论】:

  • 试试head(stats::lag(z1[,1], 2)),有一些“天才”的包可以掩盖lag 功能。

标签: r lag zoo


【解决方案1】:

有几个问题:

  • 也许 dplyr 已加载。它从 R 的基础上破坏了lag,因此没有其他软件包可以使用它。当你加载 dplyr 时,这样做:

    library(dplyr, exclude = c("lag", "filter"))
    

    如果您需要使用 dplyr 的 lag ,请将其称为 dplyr::lag 。尽管上述方法可能是避免错误的最佳处理方法,但如果您已经加载了 dplyr 以致为时已晚,您可以:

    1. 分离它,detach("package:dplyr", unload = TRUE),或
    2. 使用stats::lag 来引用基础R 中的lag 泛型,这反过来将调度lag.zoo,因为zoo 与它保持一致或
    3. 输入lag &lt;- stats::lag,然后像往常一样使用lag,如果需要该版本,请使用dplyr::lag
  • z1 是向量 zoo 对象,而不是矩阵 zoo 对象,因此引用它的第一列实际上没有意义。它没有列。省略[, 1]

  • 您的意思可能是 -2,而不是 +2。 zoo 使用与 R 本身相同的约定,即滞后 2 是指滞后索引而不是数据 2。也就是说,滞后 2 的系列开始较早,而您可能希望它稍后开始。有关更多信息,请参阅?stats::lag。例如,在下面的负滞后下,第一个滞后开始晚一个位置,第二个滞后开始两个位置。

    stats::lag(z1, -(0:2))
    
    ##                     lag0 lag-1 lag-2
    ## 2019-04-21 20:00:00   15    NA    NA
    ## 2019-04-21 20:01:00   15    15    NA
    ## 2019-04-21 20:02:00   15    15    15
    ## 2019-04-21 20:03:00   14    15    15
    ## 2019-04-21 20:04:00   15    14    15
    ## 2019-04-21 20:05:00   14    15    14
    ## 2019-04-21 20:06:00   15    14    15
    ## 2019-04-21 20:07:00   14    15    14
    ## 2019-04-21 20:08:00   15    14    15
    ## 2019-04-21 20:09:00   15    15    14
    ## 2019-04-21 20:10:00   15    15    15
    ## 2019-04-21 20:11:00   14    15    15
    

【讨论】:

  • 帮助很大!!
猜你喜欢
  • 1970-01-01
  • 2021-03-17
  • 1970-01-01
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
  • 2010-09-29
相关资源
最近更新 更多