簡體   English   中英

將時間從數字轉換為 R 中的時間格式

[英]Convert time from numeric to time format in R

我從 xls 文件中讀取數據。 顯然,時間格式不正確。 如下(例如)

0.3840277777777778
0.3847222222222222
0.3854166666666667

確實,他們應該

09:12
09:13
09:13

我不知道如何將其轉換為正確的格式。 我搜索了幾個線程,所有線程都是關於將日期(帶/不帶時間)轉換為正確的格式。

有人可以給我任何線索嗎?

您可以在將您的數字乘以一天中的秒數 (60 * 60 * 24) 后使用 as.POSIXct

nTime <- c(0.3840277777777778, 0.3847222222222222, 0.3854166666666667)
format(as.POSIXct((nTime) * 86400, origin = "1970-01-01", tz = "UTC"), "%H:%M")
## [1] "09:13" "09:14" "09:15"

另一種選擇是timeschron

library(chron)
times(nTime)
#[1] 09:13:00 09:14:00 09:15:00

為了去掉秒,

substr(times(nTime),1,5)
#[1] "09:13" "09:14" "09:15"

數據

nTime <- c(0.3840277777777778, 0.3847222222222222, 0.3854166666666667)

對於想要相反方式的人:給定 09:13:00,得到 0.3840278

as.numeric(chron::times("09:13:00"))

本質上,這個想法是一整天是 1,所以中午(12pm)是 0.5。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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