2013-07-02 2 views
2

동물원에 중복 색인 경고/오류가 발생했습니다. 나는 문제를 해결하는 데 시간을 소비하고, 다음과 같은 데이터/조각에 내려온 :동물원에서 중복 row.names (색인) 오류가 발생했습니다.

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 

을 무엇을 잘못 데이터/색인과 함께 그들은 사실 다릅니다. 그러나

, 다음 명령을

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

위의 명령은 단지 굴절률들 중복을 했습니까 :

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

이 수수께끼 결과를했다? 아무도이 작품의 작동 방식을 깨우칠 수 있습니까? 이

as.POSIXctas.POSIXct(x$Index)을 살펴보고 당신이 당신이 필요로하는 결과를 제공하지 않는 것을 볼 수에 인수 그대로

답변

3

문제는 zoo 너무 많이하지 않습니다.

시간대가 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" 
+1

을 또한,'read.zoo 시도 (텍스트 = 선, 헤더 = TRUE 9 월 = ","TZ = "GMT") '또는 어떤을 지원하지 않습니다 역대을 사용 시간대 (time zone)가 없기 때문에 다음과 같은 문제는 생기지 않습니다 :'library (chron); read.zoo (text = 라인, 헤더 = TRUE, sep = ",", FUN = as.chron)'. –

+0

여러분, 정말로 도움이됩니다. – ery

관련 문제