在R中分析数据随时间的变化

时间:2015-04-21 23:50:38

标签: r

我想观察频率" 19:00"独立于日期。什么是最快最合乎逻辑的方式?

正如我告诉R,Date列是一个日期as.Date,我想告诉R时间是一个时间列...然后只是问" Time> " 19:00:00""但这似乎不可能。

我尝试了as.POSIXct(Time, format= "%H:%M:%S")但是这个函数在我的专栏中添加了今天的日期,这会产生恼人的杂乱和不专业的外观。

我可以使用substr(as.character(Time),1,2) > 19,但这也不是很优雅。

  Date     Time    
1 2014-01-01 17:16:48  
2 2014-01-01 18:57:36   
3 2014-01-01 19:40:48  
4 2014-01-01 19:40:48 
5 2014-01-01 20:09:36 
6 2014-01-01 20:24:00   

1 个答案:

答案 0 :(得分:0)

library(data.table)

## Convert (by reference) your data to a data.table
setDT(dat)
dat[, .N
    , by = list(above_1900 = hour(as.POSIXlt(Time, format="%H:%M:%S")) > 19)]

   above_19 N
1:    FALSE 4
2:     TRUE 2