将经过 0.5 秒均值平滑处理的数据分组为 1 分钟间隔,并获得 r 中的范围

group the data smoothed over 0.5 second means into 1 min intervals and obtain the range in r

我有一个经过 0.5 秒平均平滑处理的数据帧。 我必须将数据分组为 1 分钟的间隔,并为这 1 分钟的间隔获取 z_diff = z_max - z_min。 1 分钟内的所有行(120 行)应具有相同的 z_diff 值。

我使用了如下的剪切功能。 但它将数据分成 1 分钟的间隔。但是,我需要在 1 分钟间隔内为所有行设置相同的 z_diff 值。 如果不在 r

中拆分数据,我应该怎么做

df_1min <- df_selected %>% group_by(Time_Interval = cut(df_selected$Timestamp, "60 sec")) %> % 汇总(z_diff = 最大值(z)-最小值(z))

示例数据

时间戳 <- c("10:50:00.5", "10:50:01.0", "10:50:01.5", "10:50:02.0", "10:50:02.5", “10:50:03.0”)

z <- c(1, 2, 3, 5, 8, 7)

library(tidyverse)

Timestamp <- c("10:50:00.5", "10:50:01.0", "10:50:01.5", "10:50:02.0", "10:50:02.5", "10:50:03.0")

z <- c(1, 2, 3, 5, 8, 7)

tibble(z, Timestamp) %>% 
    mutate(Timestamp = lubridate::hms(Timestamp),
           Time_Interval = floor(Timestamp)) %>% 
    group_by(Time_Interval) %>% 
    mutate(z_diff = max(z) - min(z))