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

RStudio新手求教:如何按每2小时间隔计算ParticleCount平均值

按2小时间隔计算颗粒物计数平均值的R代码方案

方法一:基于时间字段分组(推荐,适配时间间隔不均的情况)

如果你的时间数据可能存在缺失或间隔不固定,优先用这种方法,基于实际时间戳分组:

  1. 加载依赖包
library(lubridate)
library(dplyr)
  1. 合并零散时间字段为完整时间戳
    假设你的数据集名为df,包含year、month、day、hour、minute、second列:
df$datetime <- make_datetime(df$year, df$month, df$day, df$hour, df$minute, df$second)
  1. 生成2小时间隔分组标识
    将时间戳向下取整到最近的2小时节点(比如00:00、02:00、04:00等):
df$two_hour_window <- floor_date(df$datetime, "2 hours")
  1. 分组计算平均值
avg_result <- df %>%
  group_by(two_hour_window) %>%
  summarise(
    avg_particle_count = mean(ParticleCount, na.rm = TRUE),
    .groups = "drop"  # 取消分组状态,返回普通数据框
  )

方法二:按固定行数分组(仅适用于数据严格每10分钟一条的情况)

如果你的数据是严格每10分钟记录一行(2小时刚好12行),可以直接按行号分组:

# 生成每12行一组的分组标识
df$group_id <- gl(n = ceiling(nrow(df)/12), k = 12, length = nrow(df))

# 计算分组均值
avg_result <- df %>%
  group_by(group_id) %>%
  summarise(
    avg_particle_count = mean(ParticleCount, na.rm = TRUE),
    .groups = "drop"
  )

说明

  • na.rm = TRUE用于忽略ParticleCount中的缺失值,若数据无缺失可移除该参数
  • 方法一的结果包含具体时间窗口,可读性更强;方法二仅生成分组序号,适合时间字段不可靠的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 13:20:35