2017-01-30 6 views
-1

나는 매일 작업 시작 이후의 시간을 초 단위로 나타냅니다 (00 : 00h UTC). 다른 데이터의 시계열을 그려보고 싶으므로 몇 초 만에 날짜로 변환해야합니다. 모든 데이터는 패키지와 함께 읽기 HDF5 파일에서 온다 R 날짜의 초 단위 시간 (초 단위)

>tiempo=h5read("rams2.h5","t_coords") 
> class(tiempo) 
[1] "array" 
> head(tiempo) 
[1] 0 1800 3600 5400 7200 9000 

가 그럼 난 노력하고 as.POSIXct이 (ggplot2에 나중에 사용하기까지) dataframe를 구축 rhdf5.

> temps<-as.data.frame(as.POSIXct(tiempo, origin = "1960-01-01 00:00")) 
> class(temps) 
[1] "data.frame" 
> head(temps) 
    as.POSIXct(tiempo, origin = "1960-01-01 00:00") 
1        1960-01-01 01:00:00 
2        1960-01-01 01:30:00 
3        1960-01-01 02:00:00 
4        1960-01-01 02:30:00 
5        1960-01-01 03:00:00 
6        1960-01-01 03:30:00 

문제는 "임시 직원"

1 1960년 1월 1일 1시 0분 0초

의 첫 번째 값 fromt 제공하지만 1960년 1월 1일을해야한다 00:00:00이며 이것은 "tiempo"의 첫 번째 값은 0입니다. 이는 매 시간마다 한 시간 씩 추가 된 것으로 보입니다.

아마 원산지를 설정할 때 뭔가가 빠졌습니까? 아니면 h5 파일을 읽는 중입니까? 어떤 생각? 사전에

감사

PD 다음 H5 파일이 매우 큰 일이기 때문에 내가 예를 들어 데이터를 제공 할 수 없습니다.

올바른 코드 대답 리처드 텔 포드 코멘트를 ottlngr하는 덕분에, 문제는, 아마도 당신이 as.POSIXct()tz 인수를 사용한다 TZ = "UTC"

temps<-as.data.frame(as.POSIXct(tiempo, origin = "1960-01-01 00:00:00",tz = "UTC")) 
+0

나는 downbotes에서 의견을 받고 싶습니다. – pacomet

+1

아마도 시간대 문제 일 것입니다 :'as.POSIXct (1, origin = "1960-01-01 00:00", tz = "UTC")'는 자정을 제공합니다 (이것은 오전 1시 CET입니다) –

답변

1

를 추가하여 해결 시간대 문제였다 하지만 샘플 데이터 없이는 알리기가 어렵습니다. . 이 질문을보십시오, 그것은 당신을 도울 수 있습니다 : Change timezone in a POSIXct object