gpt4 book ai didi

r - 如何在 R 中创建显示预测模型、数据和残差的图表

转载 作者:行者123 更新时间:2023-12-04 10:04:54 26 4
gpt4 key购买 nike

给定两个变量,xy ,我对变量运行 dynlm 回归,并希望根据其中一个变量和残差绘制拟合模型,以显示实际数据线与预测线的不同之处。我以前见过它做过,我以前也做过,但对于我的生活,我不记得如何去做或找到任何可以解释它的东西。

这让我进入了球场,在那里我有一个模型和两个变量,但我无法获得我想要的图表类型。

library(dynlm)
x <- rnorm(100)
y <- rnorm(100)
model <- dynlm(x ~ y)

plot(x, type="l", col="red")
lines(y, type="l", col="blue")

我想生成一个看起来像这样的图表,您可以看到模型和真实数据相互重叠,残差绘制为底部的单独图表,显示真实数据和模型如何偏离。 The Objective

最佳答案

这应该可以解决问题:

library(dynlm)
set.seed(771104)
x <- 5 + seq(1, 10, len=100) + rnorm(100)
y <- x + rnorm(100)
model <- dynlm(x ~ y)

par(oma=c(1,1,1,2))
plotModel(x, model) # works with models which accept 'predict' and 'residuals'

这是 plotModel 的代码,
plotModel =  function(x, model) {
ymodel1 = range(x, fitted(model), na.rm=TRUE)
ymodel2 = c(2*ymodel1[1]-ymodel1[2], ymodel1[2])
yres1 = range(residuals(model), na.rm=TRUE)
yres2 = c(yres1[1], 2*yres1[2]-yres1[1])
plot(x, type="l", col="red", lwd=2, ylim=ymodel2, axes=FALSE,
ylab="", xlab="")
axis(1)
mtext("residuals", 1, adj=0.5, line=2.5)
axis(2, at=pretty(ymodel1))
mtext("observed/modeled", 2, adj=0.75, line=2.5)
lines(fitted(model), col="green", lwd=2)
par(new=TRUE)
plot(residuals(model), col="blue", type="l", ylim=yres2, axes=FALSE,
ylab="", xlab="")
axis(4, at=pretty(yres1))
mtext("residuals", 4, adj=0.25, line=2.5)
abline(h=quantile(residuals(model), probs=c(0.1,0.9)), lty=2, col="gray")
abline(h=0)
box()
}

enter image description here

关于r - 如何在 R 中创建显示预测模型、数据和残差的图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12699236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com