2012-03-24 42 views
1

第一列是一年的某一天,第二列是時間(即2355表示23:55,0是00:00,59是00:59分鐘):測量年份= 2011R不規則時間格式

2,2355,2.701 
2,2356,2.701 
2,2357,2.737 
2,2358,2.805 
2,2359,2.821 
3,0,2.847 
3,1,2.881 
. 
. 
3,59,3.3 
3,100,2.2 
3,101,2.8 
. 
. 
3,159,3.0 
3,200,3.1 

我想用R中的日期時間類,例如,我得到一個單一的柱開始合併第1列和2%Y-%間 - %d%H:%M:%S

我試過
datetime < - paste(2011,df $ V1,df $ V2,sep =「 - 」)
strptime(datetime,format =「%Y-%j-%M」)

但沒有得到所需的輸出。任何意見,我要去哪裏錯了?
乾杯,
納文

+0

我懷疑你錯過了小時規範'%H'。嘗試'格式=「%Y-%j-%H%M」' – Andrie 2012-03-24 18:58:10

+0

沒有..這會產生大量的NA – Navin 2012-03-24 19:06:47

回答

3

在addtion到投入小時格式規範,就需要墊V2值與領先的0。

> datetime <- paste(2011, dat$V1, sprintf("%00004d",dat$V2), sep="-") 
> strptime(datetime, format="%Y-%j-%H%M") 
[1] "2011-01-02 23:55:00" "2011-01-02 23:56:00" "2011-01-02 23:57:00" "2011-01-02 23:58:00" 
[5] "2011-01-02 23:59:00" "2011-01-03 00:00:00" "2011-01-03 00:01:00" "2011-01-03 00:59:00" 
[9] "2011-01-03 01:00:00" "2011-01-03 01:01:00" "2011-01-03 01:59:00" "2011-01-03 02:00:00"