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

R实现垂直深度剖面温度均值线及95%置信带绘制

0-500m深度温度1米分箱均值线+95%置信带R实现方案

核心逻辑完全匹配需求:按固定深度间隔分箱做统计,不使用曲线拟合,从根源上避免loess过拟合问题,可真实保留表层30m近恒温的特征。

前置依赖

需要加载两个常用R包,提前安装即可:

library(dplyr)
library(ggplot2)

假设你的原始观测数据为数据框格式,包含两列:

  • depth:数值型,观测点深度,单位为m,范围覆盖0-500m
  • temperature:数值型,对应深度的实测温度值

步骤1:1米间隔分箱统计

按每1m深度为一个分箱,计算每个分箱内的温度均值、标准差、样本量、95%置信区间上下限:

temp_stat <- raw_data %>%
  # 生成1m间隔分箱标签,0对应0-1m层,1对应1-2m层,以此类推
  mutate(depth_bin = floor(depth)) %>%
  # 过滤超出0-500m范围的异常值
  filter(depth_bin >= 0, depth_bin <= 500) %>%
  # 按分箱分组统计
  group_by(depth_bin) %>%
  summarise(
    temp_mean = mean(temperature, na.rm = TRUE),
    temp_sd = sd(temperature, na.rm = TRUE),
    obs_count = n(),
    # 基于t分布计算95%置信区间,小样本下比1.96*标准误的计算方式更准确
    ci_low = temp_mean - qt(0.975, df = obs_count - 1) * temp_sd / sqrt(obs_count),
    ci_high = temp_mean + qt(0.975, df = obs_count - 1) * temp_sd / sqrt(obs_count),
    .groups = "drop"
  )

注意:如果个别1m分箱内有效样本量不足2,标准差会返回NA,对应位置的置信带会出现断档。如果观测数据密度较低,可以把分箱间隔调整为2m或5m,只需把分箱生成代码替换为mutate(depth_bin = floor(depth/2)*2)(2m间隔)或mutate(depth_bin = floor(depth/5)*5)(5m间隔)即可。


步骤2:绘制均值线+95%置信带

深度图默认反转Y轴,让表层(0m)在图的上方,符合常规读图习惯:

ggplot(temp_stat, aes(x = temp_mean, y = depth_bin)) +
  # 先绘制95%置信带,设置半透明填充
  geom_ribbon(aes(xmin = ci_low, xmax = ci_high),
              fill = "#2171b5", alpha = 0.3) +
  # 再绘制均值折线
  geom_path(color = "#08306b", linewidth = 1) +
  # 反转Y轴,设置刻度间隔
  scale_y_reverse(limits = c(500, 0), breaks = seq(0, 500, 50)) +
  labs(
    x = "温度 (°C)",
    y = "深度 (m)",
    title = "0-500m水体剖面温度分布"
  ) +
  theme_bw()

方案说明

  • 所有结果完全基于实测数据分箱聚合,无拟合算法引入的偏差,表层30m若为恒温层,均值线会自然呈现平直段,不会出现过拟合导致的虚假波动
  • 置信带宽度会自动反映每个深度层的观测离散度:观测越密集、数据越一致的层位,置信带越窄
  • 若需要叠加原始散点,只需在绘图代码中加一层geom_point(data = raw_data, aes(x = temperature, y = depth), size = 0.5, alpha = 0.2, color = "gray50")即可,记得把散点图层放在最底层。

内容的提问来源于stack exchange,提问作者Chris A. Ora

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 01:18:24