如何在 R (ITime) 中过滤时间?
How do I filter Time in R (ITime)?
我有这个血压数据集。
date
time
systole
diastole
Pulse
2020-12-04
07:38:00
117
83
65
2020-12-04
07:39:00
121
86
60
时间格式为<S3:ITime>
.
我想过滤特定时间跨度内的所有收缩期和舒张期值。例如,从 06:00:00 到 09:00:00 的所有收缩期和舒张期值都与日期无关。
到目前为止我尝试过的:
filter(bp,Time<08:00:00|Time>06:00:00)
select(bp$Time<08:00:00|bp$Time>06:00:00)
我收到类似“数值表达式只有 9 个元素并且只使用了第一个元素”这样的错误。我不知道那是什么意思。
是因为dplyr
不适合我的时间格式吗?
ITime
来自 data.table
包。在 06:00:00
到 09:00:00
之间的 select 行你可以做到。
library(data.table)
result <- setDT(bp)[between(time, as.ITime('06:00:00'), as.ITime('09:00:00'))]
我有这个血压数据集。
date | time | systole | diastole | Pulse |
---|---|---|---|---|
2020-12-04 | 07:38:00 | 117 | 83 | 65 |
2020-12-04 | 07:39:00 | 121 | 86 | 60 |
时间格式为<S3:ITime>
.
我想过滤特定时间跨度内的所有收缩期和舒张期值。例如,从 06:00:00 到 09:00:00 的所有收缩期和舒张期值都与日期无关。
到目前为止我尝试过的:
filter(bp,Time<08:00:00|Time>06:00:00)
select(bp$Time<08:00:00|bp$Time>06:00:00)
我收到类似“数值表达式只有 9 个元素并且只使用了第一个元素”这样的错误。我不知道那是什么意思。
是因为dplyr
不适合我的时间格式吗?
ITime
来自 data.table
包。在 06:00:00
到 09:00:00
之间的 select 行你可以做到。
library(data.table)
result <- setDT(bp)[between(time, as.ITime('06:00:00'), as.ITime('09:00:00'))]