You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中计算时间序列数据框15分钟间隔的热容差值

两种方案都可行,更推荐预处理数据框
  • 预处理数据框(优先选)
    直接在数据里新增差值列,逻辑清晰,后续复用方便。因为数据是1秒间隔,用dplyr的lag()函数指定n=900就能精准获取15分钟前的热容值,再计算差值:

    library(dplyr)
    
    # 新增15分钟间隔的热容差值列
    df <- df %>%
      mutate(Heat_Capacity_Diff = Heat_Capacity - lag(Heat_Capacity, n = 900))
    

    之后做动画时,直接把y轴映射到Heat_Capacity_Diff即可,和你原来的ggplot动画逻辑完全一致。注意前900行没有对应历史数据,lag()会返回NA,你可以用filter(!is.na(Heat_Capacity_Diff))剔除这些行,或者用replace_na()填充默认值。

  • ggplot内直接计算
    不用修改原数据框,直接在aes()里写差值计算逻辑:

    library(ggplot2)
    library(gganimate)
    
    ggplot(df, aes(x = Date_Time, y = Heat_Capacity - lag(Heat_Capacity, n = 900))) +
      geom_line() +
      # 保留你原来的动画设置,比如transition_time(Date_Time)等
      transition_time(Date_Time)
    

    这种方式不用改动数据,但y轴的表达式偏长,可读性差一点,要是后续动画里还要用到这个差值,得重复写计算逻辑。

内容的提问来源于stack exchange,提问作者Golem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:02:08