我想观察频率" 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
答案 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