2013-08-07 28 views
0

一個簡單的問題是駕駛我瘋了.. 我在這個格式的時間列:字符轉換時間轉換

time 
00:05:00 
00:10:00 
00:15:00 
10:20:00 
10:25:00 

我如何轉換中的所有值時(就像as.Date函數適用於日期)? 我試過

df$time <- chron(df$time) 

但它只是將值轉換爲原子值。 我也讀this post,但它不幫助我。

+0

這個問題_does_幫助你,假設你確實做了答案的建議:'chron(times = df $ time)'。 –

+3

我很驚訝你在沒有命名參數的情況下嘗試它時沒有收到錯誤和幾個警告。 – GSee

+0

@Joshua。問題是用chron時,我正在尋找一個保持H:M:S格式的函數,並以原子值顯示時間。 – matteo

回答

-3

使用日期/時間數據類型POSIXt。 (例如,參見?as.POSIXct)。這裏是你的數據爲例:

t <- c("00:05:00", "00:10:00", "00:15:00", "10:20:00", "10:25:00") 
t2 <- as.POSIXct(t, format="%H:%M:%S") 

diff(t2) 

給出:

> Time differences in mins 
> [1] 5 5 605 5 
> attr(,"tzone") 

和:

difftime(t2[-1], t2[-length(t2)], units="hours") 

給出:

>Time differences in hours 
> [1] 0.08333333 0.08333333 10.08333333 0.08333333 
> attr(,"tzone") 

乾杯, 禮

+1

'差異'? 'difftime'?爲什麼? – GSee

+0

只是爲了顯示時間對象的一些功能。 – elzizi

+1

這甚至沒有接近回答這個問題...... –