【问题标题】:read in obscure timestamps读入模糊的时间戳
【发布时间】:2016-11-11 00:59:51
【问题描述】:

我在名为time 的列中有时间数据,格式为 H:M,如下所示:

1430 
1600 
1625 
1700 
1800 
2000
5
15 
200 
235 
400 
600 
800

但是,当小时是在早上时,它只会打印为一位数字。当小时是午夜时,根本不打印。同样,如果小时是午夜并且分钟是

我怎样才能把它读成 H:M?我试过了:

time1 <- strptime(time,format = "%H%M")

但是5 等时间戳会转换为NA

【问题讨论】:

    标签: r time timestamp read.table


    【解决方案1】:

    你可以先使用sprintf函数:

    data = data.frame(time = c(1430, 1600, 1625, 1700, 1800, 2000, 5, 15, 200, 235, 400, 600, 800))
    
    data$time = sprintf("%04.f", as.numeric(data$time))
    data$time = strptime(data$time ,format = "%H%M")
    
    > print(data)
                  time
    1  2016-07-08 14:30:00
    2  2016-07-08 16:00:00
    3  2016-07-08 16:25:00
    4  2016-07-08 17:00:00
    5  2016-07-08 18:00:00
    6  2016-07-08 20:00:00
    7  2016-07-08 00:05:00
    8  2016-07-08 00:15:00
    9  2016-07-08 02:00:00
    10 2016-07-08 02:35:00
    11 2016-07-08 04:00:00
    12 2016-07-08 06:00:00
    13 2016-07-08 08:00:00
    

    【讨论】:

    • 谢谢,这很容易!我设法使用 ifelse
    猜你喜欢
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    相关资源
    最近更新 更多