簡體   English   中英

R:計算時間間隔

[英]R: Calculate time intervals

如果我有一個日期和小時的矢量,如...

c("2016-03-15 13","2016-03-16 23","2016-03-17 06","2016-03-18 15","2016-03-19 08","2016-03-20 21")

我可以找到每個時間戳之間經過的小時數嗎? 我調查了difftime但它需要2個向量。

使用轉換為“日期時間”下課后,我們可以做到這一點lubridate ,然后得到使用相鄰元件之間的“小時”的區別difftime通過傳遞兩個vector在刪除最后一個和第一觀察后小號vector

library(lubridate)
v2 <- ymd_h(v1)

或者base R選項是as.POSIXct

v2 <- as.POSIXct(v1, format = "%Y-%m-%d %H")

然后做difftime

difftime(v2[-length(v2)], v2[-1], unit = "hour")

數據

v1 <- c("2016-03-15 13","2016-03-16 23","2016-03-17 06",
             "2016-03-18 15","2016-03-19 08","2016-03-20 21")

您可以使用strptime()函數執行此操作。

嘗試這樣的事情。

data <- c("2016-03-15 13","2016-03-16 23","2016-03-17 06","2016-03-18 15","2016-03-19 08","2016-03-20 21")
datevec <- strptime(data,"%Y-%m-%d %H")
difftime(datevec[-length(datevec)],datevec[-1],units="hours")

這是輸出。

> difftime(datevec[-length(datevec)],datevec[-1],units="hours")
Time differences in hours
[1] -34  -7 -33 -17 -37

暫無
暫無

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

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