2016-07-07 37 views
-2

我有一個數據框與一列作爲時間。當我做需要R幫助訂購時間對象

data1$Time = as.factor(data1$Time) 
Ti = levels(data1$Time) 

現在,R默認的順序爲:

"1:00:00 AM" "1:00:00 PM" "1:01:00 AM" "1:01:00 PM"... 

我需要改變的順序

"12:00:00 AM", "12:01:00 AM", ... 

即默認順序。

任何人都可以幫助我嗎?

+2

爲什麼你想要時間成爲一個因素? – gung

+0

你需要一個時間課,例如'克羅恩氏:: times'。 – alistaire

+0

事實上,我有10天的數據,我需要把一天的數據放在一起,列應該是時間。所以,對於每一天,我需要檢查數據是否適用於那一天的那個時間,如果是的話,把數據,否則NA。我有其餘的整理。但是,我的專欄現在在「1:00:00 AM」「1:00:00 PM」「1:01:00 AM」「1:01:00 PM」訂購。我想要默認排序。我知道一個蠻橫的力量將會是尋找這個原始的排列順序,但這將是單調乏味的,我不想走這條路。 –

回答

0

您必須選中lubridate包。

您也可以使用as.POSIXlt(x, format="%H:%M:%S")將您的日期轉換爲POSIXlt對象,然後您可以使用order()對它們進行排序。