2016-07-07 38 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()对它们进行排序。