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

R语言实现温度校准实测曲线与多线性回归拟合曲线叠加绘图

果蝇控温装置升温校准曲线绘制方案

一、数据预处理(规避因子/数值混乱问题)

  • 将升温速率列转为因子类型,明确固定3个水平:
你的数据框$升温速率 <- factor(你的数据框$升温速率, levels = c("0.06", "0.125", "0.25"))
  • 清理数据:删除重复行、缺失值,确保时间和实测温度列无异常值

二、构建带交互项的线性模型

通过交互项让每个升温速率组生成独立的拟合斜率,公式中*等价于主效应加交互项:

calib_model <- lm(实测温度 ~ 时间 * 升温速率, data = 你的数据框)

三、生成匹配的预测数据集(解决行数不匹配问题)

必须生成覆盖所有时间范围+所有速率水平的网格数据,不能直接用原始数据预测:

# 生成连续时间序列(从实验起始到结束,间隔可自行调整)
pred_time_seq <- seq(min(你的数据框$时间), max(你的数据框$时间), by = 1)
# 构建预测用的完整网格
pred_grid <- expand.grid(时间 = pred_time_seq, 升温速率 = levels(你的数据框$升温速率))
# 计算预测温度,自动匹配每个速率组的拟合参数
pred_grid$预测温度 <- predict(calib_model, newdata = pred_grid)

四、叠加实测曲线与拟合曲线绘图

用ggplot2实现,代码简洁易读:

library(ggplot2)
ggplot() +
  # 灰色背景绘制实测曲线
  geom_line(data = 你的数据框, aes(x = 时间, y = 实测温度, group = 升温速率), 
            color = "gray", alpha = 0.6) +
  # 彩色绘制拟合校准曲线
  geom_line(data = pred_grid, aes(x = 时间, y = 预测温度, color = 升温速率), 
            linewidth = 1.1) +
  # 基础美化
  labs(x = "时间(min)", y = "温度(℃)", title = "自制控温装置升温校准曲线") +
  theme_bw()

常见错误排查

  • 因子水平重复:用unique(你的数据框$升温速率)检查,若存在数值/字符串混合(如0.06和"0.06"),统一转为因子并指定水平
  • predict行数不匹配:确保pred_grid的列名和模型中使用的列名完全一致,且包含所有模型变量(时间、升温速率)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:25:18