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