나는 매일 작업 시작 이후의 시간을 초 단위로 나타냅니다 (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"))
나는 downbotes에서 의견을 받고 싶습니다. – pacomet
아마도 시간대 문제 일 것입니다 :'as.POSIXct (1, origin = "1960-01-01 00:00", tz = "UTC")'는 자정을 제공합니다 (이것은 오전 1시 CET입니다) –