R - 按小时子集数据:分钟

时间:2014-09-19 17:44:58

标签: r date time subset

在我的数据框中,我有一个名为" TIMESTAMP"在名为BG.data的数据框中

 TIMESTAMP                  
          14/04/2014 14:30      
          14/04/2014 14:45              
          14/04/2014 15:15      
          14/04/2014 15:30      
          14/04/2014 15:45              
          14/04/2014 16:00      
          14/04/2014 16:15  

class(BG.data$TIMESTAMP)
[1] "factor"

好了,现在我想制作一个只有小时和分钟的列,所以我可以根据这些信息对数据进行子集化。这是我试图这样做的代码。

BG.data$Hour <- as.POSIXct(BG.data$TIMESTAMP, format="%H:%M")

刚刚返回一栏NA&#39>

为什么???

1 个答案:

答案 0 :(得分:2)

它返回了NA,因为您没有考虑每个条目中也存在的日期。使用as.character()强制转换为角色是没有必要的,因为它在函数中执行:

BG.data$TIMESTAMP <- as.POSIXct(BG.data$TIMESTAMP, format="%d/%m/%Y %H:%M")

然后仅提取POSIXct对象的小时和分钟部分:

BG.data$HOUR <-format(BG.data$TIMESTAMP, format="%H:%M")