【问题标题】:abline error band won't show up when plotting a linear regression绘制线性回归时不会显示 abline 误差带
【发布时间】:2022-12-03 10:20:48
【问题描述】:
我正在尝试围绕线性回归绘制误差带。我正在使用 R 中的内置树数据集。这是我的代码。情节上没有出现任何线条。请帮忙!
xdev<-log(Volume)-mean(log(Volume))
xdev
ydev<-Girth-mean(Girth)
ydev
b1<- sum((xdev)*(ydev))/sum(xdev^2)
b0<- mean(Girth)-mean(log(Volume))*b1
plot(log(Volume)~Girth)
abline(coef(lm(log(Volume)~Girth)),col=2)
(paste(b0,b1))
y.hat <- b0+b1*log(Volume)
ss.explained <- sum((y.hat-mean(Girth))^2)
ss.unexplained <- sum((y.hat-Girth)^2)
stderr.b1 <- sqrt((ss.unexplained/29)/sum(xdev^2))
stderr.b1
std.yhat <- sqrt((ss.unexplained/29)*((1/31)+(xdev^2/sum(xdev^2))))
std.yhat
upp<- y.hat + qt(0.95,29)*std.yhat
low<- y.hat - qt(0.95,29)*std.yhat
upp
low
library(lattice)
plot(log(Volume)~Girth, data = trees)
abline(c(b0,b1),lty=1)
points(upp~Girth,data=trees,type="l",lty=2)
points(low~Girth,data=trees,type="l",lty=2)
the graph resulting from this code
【问题讨论】:
标签:
r
regression
linear-regression
lattice
abline
【解决方案1】:
该代码缺少用于在绘图上绘制线条的 lines() 命令。更正后的代码如下:
xdev<-log(Volume)-mean(log(Volume))
xdev
ydev<-Girth-mean(Girth)
ydev
b1<- sum((xdev)*(ydev))/sum(xdev^2)
b0<- mean(Girth)-mean(log(Volume))*b1
plot(log(Volume)~Girth)
abline(coef(lm(log(Volume)~Girth)),col=2)
(paste(b0,b1))
y.hat <- b0+b1*log(Volume)
ss.explained <- sum((y.hat-mean(Girth))^2)
ss.unexplained <- sum((y.hat-Girth)^2)
stderr.b1 <- sqrt((ss.unexplained/29)/sum(xdev^2))
stderr.b1
std.yhat <- sqrt((ss.unexplained/29)*((1/31)+(xdev^2/sum(xdev^2))))
std.yhat
upp<- y.hat + qt(0.95,29)*std.yhat
low<- y.hat - qt(0.95,29)*std.yhat
upp
low
library(lattice)
plot(log(Volume)~Girth, data = trees)
abline(c(b0,b1),lty=1)
lines(upp~Girth,data=trees,type="l",lty=2)
lines(low~Girth,data=trees,type="l",lty=2)