在R中,拟合线性模型最基本的函数就是lm()
myfit <- lm(formula,data)
formula:指要拟合模型的形式
形式以下:y~ x1 + x2 +...+ xk,左边为响应变量,右边为预测变量,预测之间用符号+分隔
data:数据框,包含了用于拟合模型的数据
myfit:结果对象(比例中的myfit)存储在一个列表中,包含了所拟合模型的大量信息
符号
|
用途 |
~ |
分隔符号,左边为响应变量,右边为解释变量。例如,要经过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() |
用拟合模型对新的数据集预测响应变量值 |