• lm()拟合回归模型

在R中,拟合线性模型最基本的函数就是lm()



myfit <- lm(formula,data)


myfit <- lm(formula,data)





formula:指要拟合模型的形式



                形式如下:y~ x1 + x2 +...+ xk,左边为响应变量,右边为预测变量,预测之间用符号+分隔





data:数据框,包含了用于拟合模型的数据



myfit:结果对象(比例中的myfit)存储在一个列表中,包含了所拟合模型的大量信息







  • R表达式中常用的符号



符号   

用途

~    

分隔符号,左边为响应变量,右边为解释变量。例如,要通过x、z和w预测y,代码为 y~ x+z+w

+    

分隔预测变量


表示预测变量的交互项,如,要通过x、z及x与z的交互项预测y,代码为y~x+z+x:z

*    

表示所有可能交互项的简洁方式,代码y~x*z*w可展开为 y~x+z+w+x:z+x:w+z:w+x:z:w

^    

表示交互项达到某个次数,代码y~(x+z+w)^2可展开为y~x+z+w+x:z+x:w+z:w

.    

表示包含因变量外的所有变量,如,若一个数据框包含变量x,y,z和w,代码y~. 可展开为y~x+z+w    

-    

减号,表示从等式中移除某个变量,如,y~(x+z+w)^2-x:w可展开y~x+z+w+x:z+z:w

-1    

删除截距项,如表达式 y~x-1拟合y在x上的回归,并强制直线通过原点     

I()    

从算术的角度来解释括号众的元素,例如,y~x+(z+w)^2将展开为y~x+z+w+z:w

相反,代码y~x+I((z+w)^2)将展开为 y~x+h,h是一个由 z和w的平方和创建的新变量

function    

可以在表达式中用的数学函数,如,log(y) ~x+z+w表示通过x、z和w来预测log(y)





  • 对拟合线性模型非常有用的其他函数



除了lm(),表8-3,还列出了其他一些对做简单或多元回归分析有用的函数,拟合模型后,将这些应用于lm()返回的对象,可以得到额外的模型信息



函数

用途

summary()    

展示拟合模型的详细结果

coefficients()  

列出拟合模型的模型参数(截距项和斜率)

confint()    

提供模型带参数的执行区间(默认为95%)

fitted()    

列出拟合模型的预测值

residuals()    

列出拟合模型的残差值

anova()    

生成一个拟合模型的方差分析表,或者比较两个或更多拟合模型的方差分析表

vcov()

列出模型参数的协方差矩阵

AIC()    

输出赤池信息统计量

plot()    

生成评价拟合模型的诊断图

predict()

用拟合模型对新的数据集预测响应变量值