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

如何基于2020年水温溶解氧插值数据计算全年每日TDO3值

R语言TDO3计算实现方案

推荐使用tidyverse的向量化分组操作实现,运行效率远高于手动写for循环,代码可读性也更强:
首先加载依赖包:

library(tidyverse)

核心计算代码:

TDO3 <- do_temp %>%
  # 按日期分组
  group_by(date) %>%
  # 筛选溶解氧不低于3mg/L的所有记录
  filter(mean_do >= 3) %>%
  # 分组内按溶解氧升序排列,最小的符合要求值就是最接近3mg/L的数值
  arrange(mean_do, .by_group = TRUE) %>%
  # 取每个日期分组的第一条记录
  slice_head(n = 1) %>%
  # 整理输出列名
  ungroup() %>%
  select(dates = date, tdo3 = mean_temp)

如果需要保证输出包含2020年全部366天,避免部分日期无≥3mg/L溶解氧记录导致日期缺失,可以补充以下代码补全日期:

# 生成2020年完整日期序列
full_date_list <- tibble(dates = seq.Date(as.Date("2020-01-01"), as.Date("2020-12-31"), by = "1 day"))
# 左连接补全缺失日期,无有效记录的日期TDO3值为NA
TDO3 <- full_date_list %>%
  left_join(TDO3, by = "dates")

用你提供的2020-01-01样例数据验证,符合要求的最小溶解氧值为21m深度的3.43mg/L,对应温度3.18,和你给出的期望输出第一条结果完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:18:02