![](/img/trans.png)
[英]Filter the data by date and time (HH:MM:SS) and aggregate the data into rows of 5-minute intervals per month in R
[英]How to filter rows based on time (hh:mm:ss) using dplyr in tidyversse in R?
这是我的数据
library(tidyverse)
a<-tribble(
~"Date", ~"Time", ~"Name", ~"Value",
"2020-06-03", "00:15:00", "DR.RADHAKRISHNAN SALAI", 0.166,
"2020-06-03", "00:30:00", "DR.RADHAKRISHNAN SALAI", 0.867,
"2020-06-03", "00:45:00", "DR.RADHAKRISHNAN SALAI", 0.906,
"2020-06-03", "01:00:00", "DR.RADHAKRISHNAN SALAI", 0.677,
"2020-06-03", "01:15:00", "DR.RADHAKRISHNAN SALAI", 0.077
)
需要的解决方案:
我想根据时间过滤所有行(例如:00:15:00 和 00:45:00 之间)
我试过的:
a%>%
filter(Time => hms::as.hms(00:15:00) | Time <= hms::as.hms(00:45:00) )
但我没有得到我所期望的结果。 请帮忙
适当使用hour
和minute
library(lubridate)
library(tidyverse)
a<-tribble(
~"Date", ~"Time", ~"Name", ~"Value",
"2020-06-03", "00:15:00", "DR.RADHAKRISHNAN SALAI", 0.166,
"2020-06-03", "00:30:00", "DR.RADHAKRISHNAN SALAI", 0.867,
"2020-06-03", "00:45:00", "DR.RADHAKRISHNAN SALAI", 0.906,
"2020-06-03", "01:00:00", "DR.RADHAKRISHNAN SALAI", 0.677,
"2020-06-03", "01:15:00", "DR.RADHAKRISHNAN SALAI", 0.077
)
a %>%
filter(hour(hms::as_hms(Time)) == 0,
between(minute(hms::as_hms(Time)), 15, 45))
#> # A tibble: 3 x 4
#> Date Time Name Value
#> <chr> <chr> <chr> <dbl>
#> 1 2020-06-03 00:15:00 DR.RADHAKRISHNAN SALAI 0.166
#> 2 2020-06-03 00:30:00 DR.RADHAKRISHNAN SALAI 0.867
#> 3 2020-06-03 00:45:00 DR.RADHAKRISHNAN SALAI 0.906
由reprex 包(v0.3.0) 于 2020 年 11 月 8 日创建
这是否有效:
library(dplyr)
a %>% mutate(min = as.numeric(substr(Time, 1,2)) * 60 + as.numeric(substr(Time, 4,5))) %>%
filter(between(min,15,45)) %>% select(-min)
# A tibble: 3 x 4
Date Time Name Value
<chr> <chr> <chr> <dbl>
1 2020-06-03 00:15:00 DR.RADHAKRISHNAN SALAI 0.166
2 2020-06-03 00:30:00 DR.RADHAKRISHNAN SALAI 0.867
3 2020-06-03 00:45:00 DR.RADHAKRISHNAN SALAI 0.906
>
使用基础 R :
subset(a, as.POSIXct(Time, format = "%T") >= as.POSIXct('00:15:00', format = '%T') &
as.POSIXct(Time, format = "%T") <= as.POSIXct('00:45:00', format = '%T'))
# Date Time Name Value
# <chr> <chr> <chr> <dbl>
#1 2020-06-03 00:15:00 DR.RADHAKRISHNAN SALAI 0.166
#2 2020-06-03 00:30:00 DR.RADHAKRISHNAN SALAI 0.867
#3 2020-06-03 00:45:00 DR.RADHAKRISHNAN SALAI 0.906
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.