动物园中重复的row.names(index)错误

时间:2013-07-02 03:13:48

标签: r zoo

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

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"

上面的命令是否只是使indeces重复?任何人都可以告诉我它是如何工作的吗?

1 个答案:

答案 0 :(得分: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"