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

R语言线性回归模型预测报错:原因排查与修复方案

报错原因与修复方案

报错原因

你的线性回归模型是基于自变量dt训练的,但用于预测的数据框Temperature_predicted_temperature中,自变量列名是Year而非dt。predict()函数要求预测数据必须包含和训练模型时完全一致的变量名,因此出现变量不匹配的错误。

修复方法

有两种简单的修复方式:

方式一:修改预测数据框的列名为dt

直接将预测数据框的列名调整为模型要求的dt:

Regression_Africa <- Mean_temperature_by_dt %>%
  filter(Country == "Africa", dt >= 1850 & dt <=2013)

Regression_Africa <- lm(AverageTemperature ~ dt, data = Regression_Africa)

# 修改列名为dt
Temperature_predicted_temperature <- data.frame(dt = c(2015, 2016, 2020))

predict(Regression_Africa, Temperature_predicted_temperature) %>% round(1)

方式二:在预测时临时映射变量

如果不想修改原数据框列名,可以在predict时临时将Year重命名为dt:

Regression_Africa <- Mean_temperature_by_dt %>%
  filter(Country == "Africa", dt >= 1850 & dt <=2013)

Regression_Africa <- lm(AverageTemperature ~ dt, data = Regression_Africa)

Temperature_predicted_temperature <- data.frame(Year = c(2015, 2016, 2020))

# 临时重命名后再预测
predict(Regression_Africa, data.frame(dt = Temperature_predicted_temperature$Year)) %>% round(1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:20:42