2012-03-24 75 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"