[英]R date origin for time in seconds
從工作開始(UTC時間00:00h)開始,我每天都有一個以秒為單位的時間序列。 當我想繪制其他數據的時間序列時,我想將以秒為單位的時間序列轉換為日期。 所有數據均來自使用軟件包rhdf5讀取的hdf5文件
>tiempo=h5read("rams2.h5","t_coords")
> class(tiempo)
[1] "array"
> head(tiempo)
[1] 0 1800 3600 5400 7200 9000
然后,我嘗試和as.POSIXct建立一個數據幀(以后與ggplot2一起使用)。
> 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-01-01 01:00:00
但是應該是1960-01-01 00:00:00,因為這是提供的原點,並且“ tiempo”的第一個值是0。似乎每次都添加了一個小時。
設置原點時可能丟失了某些內容? 還是在讀取h5文件時? 任何想法?
提前致謝
PD:我無法提供示例數據,因為h5文件非常大。
正確的代碼感謝ottlngr的回答和Richard Telford的評論,問題是通過添加tz =“ UTC”解決了時區問題
temps<-as.data.frame(as.POSIXct(tiempo, origin = "1960-01-01 00:00:00",tz = "UTC"))
可能應該在as.POSIXct()
使用tz
參數,但是如果沒有樣本數據就很難分辨 。 看一下這個問題,它可能會對您有所幫助: 更改POSIXct對象中的時區
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.