2009-02-24 105 views
14

我正在使用調查數據集。它有兩個字符串vectors,startfinish,分別表示採訪開始和結束的時間。在R中處理時間的最佳做法是什麼?

它們是character這樣的字符串:"9:24 am","12:35 pm"等等。我試圖根據這兩個來計算面試的持續時間。這樣做的最好方法是什麼?

我知道,對於日期,有很多classe秒或function就像as.date()as.Date()chron(),或as.POSIXct()。所以我一直在尋找類似as.time()的東西,但是找不到它。我是否應該追加一個製作日期並將整個事件轉換爲POSIX()日期時間class,然後使用difftime()

R中處理時間的最佳做法是什麼?

回答

15

您需要使用strptime()將字符串轉換爲日期。例如:

strptime("9:24 am",format="%I:%M %p") 

然後,你可以通過從其他採取一個客場採取差異:

strptime("9:24 am",format="%I:%M %p")-strptime("12:14 am",format="%I:%M %p") 
Time difference of 9.166667 hours 

你可以存儲這個,然後做一個as.numeric()如果你只是想數出來,否則你可以繞過時間對象。

希望這有助於!

+0

創建的日期時間格式差由lubridate更新 – 2017-06-27 07:44:03

1

一個選項是使用正則表達式。如果你不熟悉它們,它們將用於使用模式來解析字符串。我會研究正則表達式,然後here are the functions in r

希望它有助於

相關問題