R中的POSIXct返回NA,原因是什么?

时间:2015-10-06 10:31:43

标签: r datetime

我有列时间的数据集。它包括日期和时间。但是,我希望在单独的列中只有小时和分钟,然后用另一列绘制它。但是,我尝试使用:

today$Clock<- as.POSIXct(today$time, origin="%H:%M:%S")
today["Clock"] <- within(today$time, ISOdatetime(YY,MM,DD,hh,mm,0))
today$Clock<- strptime(x = as.character(today$time),
                                format = "%d/%m/%Y %H:%M")

并且没有任何工作......我要么获得NA或相同的日期值。

以下是我的一些数据集:

    id        fname       uname            time            COUNT...
1   111449  o1              Name1       2015-03-03 16:14:32 1
2   100833  o1              Name2       2014-11-28 23:19:15 1
3   100834  o1              Name2       2014-11-28 23:20:52 1
4   100835  o1              Name3       2014-11-28 23:21:04 1
5   100921  o1              Name3       2014-11-30 00:55:56 1
6   100922  o1              Name3       2014-11-30 00:56:06 1
7   105983  o1              Name4       2014-12-25 01:22:42 1
8   108761  o1              Name5       2015-02-01 00:56:55 1

非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您只想提取小时和分钟,则无需创建类POSIXct的变量。您只需使用substr从字符串变量中提取相关时间部分

str <- c('2015-03-03 16:14:32',
        '2014-11-28 23:19:15',
        '2014-11-28 23:20:52',
        '2014-11-28 23:21:04',
        '2014-11-30 00:55:56',
        '2014-11-30 00:56:06',
        '2014-12-25 01:22:42',
        '2015-02-01 00:56:55')
as.integer(substr(str, 12,13))
as.integer(substr(str, 15,16))