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

在R中绘制逆线性回归拟合曲线显示异常的技术求助

问题根源

你用abline(model)绘制回归曲线是错误的——abline()仅支持绘制标准线性模型的直线(形式为y = a + b*x),但你的模型是y = β₀ + β₁*(1/x),属于非线性关系。当调用abline()时,它会错误地将1/x当作线性变量直接映射到x轴;而1/x在x=1到75区间内数值极小,模型拟合出的β₁会非常大,最终画出的直线就会呈现近乎垂直的错误形态。

修正代码

要得到正确的逆线性回归曲线,需先基于拟合模型生成对应x的预测值,再用lines()函数连接这些预测点:

x <- 1:75
w <- rep(10,25)
z <- rep(5,25)
a <- rep(4,25)
b <- append(w,z)
y <- append(b,a)

# 拟合逆线性模型
model <- lm(y ~ I(1/x))

# 生成对应x的预测值(保持x的顺序)
predicted_y <- predict(model, newdata = data.frame(x = x))

# 绘制散点图与回归曲线
plot(x, y, pch = 16, col = "gray")
lines(x, predicted_y, col = "red", lwd = 2)
关键说明
  • predict()函数会根据拟合的模型,为每个x值计算对应的预测y值,确保预测点与原始x的顺序完全匹配。
  • lines()函数会按x的递增顺序连接所有预测点,画出符合预期的逆线性平滑曲线,替代原本错误的abline()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 03:32:15