[英]Calculating time intervals in R
我在這個頁面上遇到過類似的問題:
這是我的數據的一小部分:
DT
29/07/12 20:05:01
29/07/12 20:20:59
30/07/12 02:42:08
30/07/12 02:53:17
30/07/12 02:53:18
30/07/12 02:53:19
我想做這個人問的同樣的事情,即計算后續行之間R的時間差(增量時間)。 時間戳存儲在數據框中,時間作為日期時間(日/月/年小時:分:秒)。
這段代碼是善意建議並且大部分時間都有效,除了時間間隔突破幾天,然后我得到大量不正確的數字(例如31/072469秒,介於29/07/12 20:20:59和30/07/12之間2時42分08秒。
c_time <- as.POSIXlt( mydf$c_time )
c_time <- rev( c_time )
difftime(c_time[1:(length(c_time)-1)] , c_time[2:length(c_time)])
有沒有人有什么建議?
謝謝!
最好是明確的格式,否則你必須仔細閱讀默認選項中發生的事情:
mydf <- read.table(text="c_time
29/07/12 20:05:01
29/07/12 20:20:59
30/07/12 02:42:08
30/07/12 02:53:17
30/07/12 02:53:18
30/07/12 02:53:19", sep=",", row.names=NULL, header=T)
c_time <- as.POSIXlt( mydf$c_time, format="%d/%m/%y %H:%M:%S")
c_time <- rev( c_time )
difftime(c_time[1:(length(c_time)-1)] , c_time[2:length(c_time)])
##Time differences in secs
##[1] 1 1 669 22869 958
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.