【问题标题】:Selecting specific epochs in time series data using R使用 R 选择时间序列数据中的特定时期
【发布时间】:2021-08-13 05:08:36
【问题描述】:

我有一个数据文件,其中包含来自 70 个人的约 60,000 条观察结果。数据文件如下所示:datafile exampledatafile

我希望为每个人选择最后 5 分钟的数据。每个人都有不同数量的观察。有没有办法确定每个人的最后一次观察并选择前 5 分钟的数据?我使用下面的代码来识别前 5 分钟,但我不确定如何在最后 5 分钟内做同样的事情。

#Set date and time format
df$DateTime=paste(df$Date, df$Time)
df$DateTime <- as.POSIXct(df$DateTime, format="%d/%m/%Y %H:%M:%S")

df$ID <- as.numeric(as.character(df$ID)) 
df$Value <- as.numeric(as.character(df$Value)) 


extract=df %>%
  group_by(ID, DateTime = cut(DateTime, breaks="5 min")) %>%
  summarize(Value=median(Value))

提前致谢!

【问题讨论】:

    标签: r dplyr time-series epoch posixct


    【解决方案1】:

    这应该过滤到每个人最后 5 分钟的观察结果。

    df %>%
      group_by(ID) %>%
      mutate(last_time = max(DateTime)) %>%
      ungroup() %>%
      filter(DateTime >= last_time - 5*60)
    

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 2023-03-19
      • 1970-01-01
      • 2017-08-13
      • 2013-10-11
      相关资源
      最近更新 更多