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



在我的数据帧中,我有一个名为"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的列

为什么???

它返回了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")

最新更新