2013-12-19 60 views
1

我已導入一些數據轉換爲R,它看起來像如下:日期時間與數據幀不同的格式

   dateTime temp 
1 10/25/2005 12:00:00 15.50 
2 10/25/2005 1:00:00 15.49 
3 10/25/2005 2:00:00 15.52 
4 10/25/2005 3:00:00 15.50 
5 10/25/2005 4:00:00 15.50 
6 10/25/2005 5:00:00 15.46 

其中類的data.frame的日期時間列的是因子和第二列是數字。

我嘗試將時間值轉換成POSIXct格式如下:

dat[,1] <- as.POSIXct(dat[,1]) 

但收到錯誤

Error in as.POSIXlt.character(as.character(x), ...) : 
    character string is not in a standard unambiguous format 

我認爲這是有日期時間在這一個小時的格式是不同的做呈現,例如12,1,2等而不是12,01,02。

我該如何改變它到POSIXct?

回答

2

你需要指定格式:

datetime <- factor("10/25/2005 12:00:00") 

as.POSIXct(datetime) 
#Error in as.POSIXlt.character(as.character(x), ...) : 
# character string is not in a standard unambiguous format 

as.POSIXct(datetime, format="%m/%d/%Y %H:%M:%S") 
#[1] "2005-10-25 12:00:00 CEST" 

注:我建議創建日期時間變量的時候,你總是指定一個時區明確。否則,夏令時可能會遇到麻煩。

as.POSIXct(datetime, format="%m/%d/%Y %H:%M:%S", tz="GMT") 
#[1] "2005-10-25 12:00:00 GMT" 
相關問題