我在动物园中遇到了重复索引警告/错误。我花了一些时间进行故障排除,最终得出以下数据/片段:
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"
上面的命令是否只是使索引重复?有人能告诉我这是如何工作的吗?
最佳答案
问题不在于 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"
关于r - 动物园中重复的 row.names (index) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416840/