lm() 拟合线性模型linear module
lm() 拟合线性模型linear module ,用来进行回归、single stratum方差分析,协方差分析
lm(formula,data,subset,weights,na.action,【other args】)
lm(y ~ x,data) 这样是最常见设置的参数 如lm(formula=earn~height,data=wages)
formula 指定回归模型的公式
~ 表示预测,读作“y由x预测”
data 数据框,包含响应变量和独立变量
1 在运行lm()前,先画出变量间的散点图,观察关系
2 运行lm,赋值给lm object
3. print([lm object]) 查看截距intercept,斜率
summary([lm object]) 查看这个模型的详细信息
备注:
如果是多元回归模型,即lm(y~x+z) 如 mod2<-lm(earn~height+ed,data=wages)
示例
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)
1. 先画散点图,观察回归规律
ggplot(data=data.frame(x= c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131),y=c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)),mapping = aes(x,y))+geom_point()
2.拟合回归
relation<-lm(y~x)
relation
summary(relation)
基于得到的回归函数,预测新值
a<-data.frame(x=170) #一个值也要以数据框格式传入
result<-predict(relation,a)
result
predict 备注:
- 线性回归拟合函数后,predict依据模型不只是预测新的自变量对应的一个值,更常用的是预测值的置信区间如
- attach(faithful) #将数据集加载到R的search path.那么数据集中的对象可以通过它们的names来访问
- head(faithful) #查看数据集的前5行
- eruption.lm=lm(eruptions~waiting) #拟合线性回归模型
- newdata=data.frame(waiting=80)
- glimpse(newdata)
- predict(eruption.lm,newdata,interval = "predict") #根据模型预测waiting=80时的eruptions 置信区间
-
如果predict时,不指定自变量,则基于原模型对原自变量的y都预测一遍 如as.data.frame(predict(eruption.lm,interval="confidence",level=0.95))
-
本文来自博客园,作者:BioinformaticsMaster,转载请注明原文链接:https://www.cnblogs.com/koujiaodahan/p/15935587.html
posted on 2022-02-25 13:00 BioinformaticsMaster 阅读(931) 评论(0) 编辑 收藏 举报