R语言-多项式回归分析

library(ggplot2)
library(tidyr)
onedata=read.csv("D:/Rdata/Windows/data/chap5/simple linear regression.csv")
ggplot(onedata,aes(x=x,y=y))+
  theme_bw()+
  geom_point(colour="red")+
  geom_smooth(method = lm,formula = y~x)
summary(lm(y~x,data = onedata))
lmp3=lm(y~poly(x,3),data = onedata)
summary(lmp3)
##################
polydata=read.csv("D:/Rdata/Windows/data/chap5/polynomial regression.csv")
ggplot(polydata,aes(x=x,y=y))+
  geom_point()+theme_bw()
lmp1=lm(y~poly(x,1),data = polydata)
poly1=predict(lmp1,polydata)
polydata$poly1=poly1
#
lmp2=lm(y~poly(x,2),data = polydata)
poly2=predict(lmp2,polydata)
polydata$poly2=poly2
#
lmp3=lm(y~poly(x,3),data = polydata)
poly3=predict(lmp3,polydata)
polydata$poly3=poly3
#
lmp4=lm(y~poly(x,4),data = polydata)
poly4=predict(lmp4,polydata)
polydata$poly4=poly4
#宽型数据转换成长型数据
polydatalong=gather(polydata,key="model",value = "value",
                    c("poly1","poly2","poly3","poly4"))
ggplot(polydatalong)+theme_bw()+geom_point(aes(x,y))+
  geom_line(aes(x=x,y=value,linetype=model,colour=model),size=0.8)+
  theme(legend.position = c(0.1,0.8))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值