在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() |
用擬合模型對新的數據集預測響應變量值 |