看教程不够直观,那就看视频吧! >>点击加载视频
采用lm()绘制回归方程
x=c(1:10)
y=c(1,1.9,3.5,4.5,6.2,7.5,9.2,10.5,11.3,12.3)
plot(x,y)
model<-lm(y~x)
abline(model,lty=2)
summary(model)
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-0.43273 -0.22894 0.03061 0.13212 0.42909
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.47333 0.20902 -2.265 0.0533 .
x 1.32061 0.03369 39.202 1.97e-10 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.306 on 8 degrees of freedom
Multiple R-squared: 0.9948, Adjusted R-squared: 0.9942
F-statistic: 1537 on 1 and 8 DF, p-value: 1.971e-10
结果分析:
两个回归系数分别是-0.4733,和1.32061,p值1.971e-10,P值越小,回归效果越显著,并且后面星级越高。
y=1.32061x-0.4733
当模型通过检验,可用于预测,此时我们需要用到R中的predict()函数
假设我们要预测x=3.54时y的值
new <- data.frame(x = 3.16)
lm.pred <- predict(model,new,interval = "prediction",level = 0.95)
lm.pred
fit lwr upr
1 3.699782 2.937763 4.4618
参数:
interval="prediction"表示求预测点的值的同时要给出相应的预测区间
level=0.95表示我们求95%的置信区间
结果:
fit值即为x=3.16时y的预测值,lwr和upr分别表示预测区间的上下限。
美化:
只需对plot()函数进行改动
plot(x,y,main="picture",xlab="year",ylab="weight",col="darkred",pch=3,cex=0.8)
models<-lm(y~x)
abline(models)
采用stat_smooth()函数绘制回归模型拟合曲线
mydata <- data.frame(x=c(1:10),y=c(1,1.9,3.5,4.5,6.2,7.5,9.2,10.5,11.3,12.3))
sp<-ggplot(mydata,aes(x,y))+geom_point()
回归模型拟合
默认95%置信区间:
sp+stat_smooth(method=lm)
99%置信区间:
sp+stat_smooth(method=lm,level=0.99)
无置信区间:
sp+stat_smooth(method=lm,se=FALSE)
美化
ggplot(mydata,aes(x,y))+geom_point(colour="darkred")+stat_smooth(method=lm,se=FALSE,colour="black")
+labs(title = "picture")+xlab("year")+ylab("weight")+theme(plot.title=element_text(hjust=0.5))
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!