R語言關(guān)于協(xié)方差分析實例分析
我們使用回歸分析創(chuàng)建模型,描述變量在預(yù)測變量對響應(yīng)變量的影響。 有時,如果我們有一個類別變量,如Yes / No或Male / Female等。簡單的回歸分析為分類變量的每個值提供多個結(jié)果。 在這種情況下,我們可以通過將分類變量與預(yù)測變量一起使用并比較分類變量的每個級別的回歸線來研究分類變量的效果。 這樣的分析被稱為協(xié)方差分析,也稱為ANCOVA。
例
考慮在數(shù)據(jù)集mtcars中內(nèi)置的R語言。 在其中我們觀察到字段“am”表示傳輸?shù)念愋停ㄗ詣踊蚴謩樱?它是值為0和1的分類變量。汽車的每加侖英里數(shù)(mpg)也可以取決于馬力(“hp”)的值。
我們研究“am”的值對“mpg”和“hp”之間回歸的影響。 它是通過使用aov()函數(shù),然后使用anova()函數(shù)來比較多個回歸來完成的。
輸入數(shù)據(jù)
從數(shù)據(jù)集mtcars創(chuàng)建一個包含字段“mpg”,“hp”和“am”的數(shù)據(jù)框。 這里我們?nèi) 癿pg”作為響應(yīng)變量,“hp”作為預(yù)測變量,“am”作為分類變量。
input <- mtcars[,c("am","mpg","hp")] print(head(input))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果
am mpg hp Mazda RX4 1 21.0 110 Mazda RX4 Wag 1 21.0 110 Datsun 710 1 22.8 93 Hornet 4 Drive 0 21.4 110 Hornet Sportabout 0 18.7 175 Valiant 0 18.1 105
協(xié)方差分析
我們創(chuàng)建一個回歸模型,以“hp”作為預(yù)測變量,“mpg”作為響應(yīng)變量,考慮“am”和“hp”之間的相互作用。
模型與分類變量和預(yù)測變量之間的相互作用
# Get the dataset. input <- mtcars # Create the regression model. result <- aov(mpg~hp*am,data = input) print(summary(result))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果
Df Sum Sq Mean Sq F value Pr(>F) hp 1 678.4 678.4 77.391 1.50e-09 *** am 1 202.2 202.2 23.072 4.75e-05 *** hp:am 1 0.0 0.0 0.001 0.981 Residuals 28 245.4 8.8 --- Signif. codes: 0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
這個結(jié)果表明,馬力和傳輸類型對每加侖的英里有顯著的影響,因為兩種情況下的p值都小于0.05。 但是這兩個變量之間的相互作用不顯著,因為p值大于0.05。
沒有分類變量和預(yù)測變量之間相互作用的模型
# Get the dataset. input <- mtcars # Create the regression model. result <- aov(mpg~hp+am,data = input) print(summary(result))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果
Df Sum Sq Mean Sq F value Pr(>F) hp 1 678.4 678.4 80.15 7.63e-10 *** am 1 202.2 202.2 23.89 3.46e-05 *** Residuals 29 245.4 8.5 --- Signif. codes: 0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
這個結(jié)果表明,馬力和傳輸類型對每加侖的英里有顯著的影響,因為兩種情況下的p值都小于0.05。
比較兩個模型
現(xiàn)在我們可以比較兩個模型來得出結(jié)論,變量的相互作用是否真正重要。 為此,我們使用anova()函數(shù)。
# Get the dataset. input <- mtcars # Create the regression models. result1 <- aov(mpg~hp*am,data = input) result2 <- aov(mpg~hp+am,data = input) # Compare the two models. print(anova(result1,result2))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果
Model 1: mpg ~ hp * am Model 2: mpg ~ hp + am Res.Df RSS Df Sum of Sq F Pr(>F) 1 28 245.43 2 29 245.4410.0052515 6e-04 0.9806
由于p值大于0.05,我們得出結(jié)論,馬力和傳播類型之間的相互作用不顯著。 因此,在汽車和手動變速器模式下,每加侖的里程將以類似的方式取決于汽車的馬力。
以上就是R語言關(guān)于協(xié)方差分析實例分析的詳細(xì)內(nèi)容,更多關(guān)于R語言協(xié)方差分析的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解R語言caret包trainControl函數(shù)
這篇文章主要介紹了R語言caret包trainControl函數(shù)詳解,本文通過源碼分析給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08R語言如何畫豎線、橫線、添加標(biāo)簽以及畫固定長度的線段
R語言繪圖的能力非常強大,有時看似繁復(fù)的圖形不過寥寥數(shù)行代碼就搞定,下面這篇文章主要給大家介紹了關(guān)于R語言如何畫豎線、橫線、添加標(biāo)簽以及畫固定長度的線段的相關(guān)資料,需要的朋友可以參考下2022-11-11R語言ggplot在熱圖上標(biāo)注相關(guān)系數(shù)的操作方法
R語言是一種開源、免費的編程語言,主要用于統(tǒng)計分析、圖形化和機器學(xué)習(xí),這篇文章主要介紹了R語言ggplot怎么在熱圖上標(biāo)注相關(guān)系數(shù),需要的朋友可以參考下2024-07-07R語言 實現(xiàn)兩表連接且輸出不重復(fù)數(shù)據(jù)
這篇文章主要介紹了R語言 實現(xiàn)兩表連接且輸出不重復(fù)數(shù)據(jù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03