簡體   English   中英

R日期來源,以秒為單位

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM