2

我在动物园遇到了重复索引警告/错误。我花了一些时间进行故障排除,结果归结为以下数据/片段:

Lines = "Index,dbt,rh,dpt,wind.mph,gust.mph,wind.dir,voltage,klux,fc
2008-03-09 01:00:00,37.96,77.25,31.60,4.16,5.39,247,0.00,28.283,2643.28
2008-03-09 02:00:00,37.20,77.25,30.90,0.00,0.43,244,0.00,28.283,2643.28"

x <- read.table(header=T,text=Lines,sep=",")

library(zoo)

z = zoo(x[,2:10],as.POSIXct(x$Index))

如果我运行上述内容,则会收到以下警告:

Warning message:
In zoo(x[, 2:10], as.POSIXct(x$Index)) :
  some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique

我想知道数据/索引有什么问题。它们实际上是不同的。

但是,以下命令:

library(xts)
make.index.unique(index(z))

给出了一个令人费解的结果:

[1] "2008-03-09 01:00:00 MST" "2008-03-09 01:00:00 MST"

上面的命令是否只是使索引重复?有人可以告诉我这是如何工作的吗?

4

1 回答 1

3

问题不zoo在于它的论点as.POSIXct

看看,as.POSIXct(x$Index)你会发现它没有给出你需要的结果。

提供as.POSIXct时区会有所帮助。


比较:

as.POSIXct(x$Index)
#  [1] "2008-03-09 01:00:00 EST" "2008-03-09 01:00:00 EST"

as.POSIXct(x$Index, tz = "GMT")
#   [1] "2008-03-09 01:00:00 GMT" "2008-03-09 02:00:00 GMT"
于 2013-07-02T03:25:13.693 回答