簡體   English   中英

R中的多重相關系數

[英]Multiple correlation coefficient in R

我正在尋找一種方法來計算R http://en.wikipedia.org/wiki/Multiple_correlation中的多重相關系數,是否有內置函數來計算它? 我有一個因變量和三個獨立變量。 我無法在網上找到它,任何想法?

內置函數lm提供至少一個版本,不確定這是否是您正在尋找的:

fit <- lm(yield ~ N + P + K, data = npk)
summary(fit)

得到:

Call:
lm(formula = yield ~ N + P + K, data = npk)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.2667 -3.6542  0.7083  3.4792  9.3333 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   54.650      2.205  24.784   <2e-16 ***
N1             5.617      2.205   2.547   0.0192 *  
P1            -1.183      2.205  -0.537   0.5974    
K1            -3.983      2.205  -1.806   0.0859 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.401 on 20 degrees of freedom
Multiple R-squared:  0.3342,    Adjusted R-squared:  0.2343 
F-statistic: 3.346 on 3 and 20 DF,  p-value: 0.0397

關於正在發生什么的更多信息?summary.lm?lm

嘗試這個:

# load sample data 
data(mtcars)

# calculate correlation coefficient between all variables in `mtcars` using 
# the inbulit function

M <- cor(mtcars)

# M is a matrix of correlation coefficient which you can display just by  
# running 

print(M)

# If you want to plot the correlation coefficient 

library(corrplot)
corrplot(M, method="number",type= "lower",insig = "blank", number.cex = 0.6)

計算多重相關系數的最簡單方法(即一方面兩個或多個變量之間的相關性,另一方面另一個變量之間的相關性)是創建一個多元線性回歸(預測一個變量的值被視為依賴於值將兩個或多個變量視為獨立的,然后計算因變量的預測值和觀測值之間的相關系數。

例如,我們使用內置的mtcars數據集創建一個名為mpg.model的線性模型,其中mpg作為因變量, wtcyl作為自變量:

> mpg.model <- lm(mpg ~ wt + cyl, data = mtcars)

創建上述模型后,我們將mpg的觀察值(嵌入在對象中,在model數據框內)與相同變量(也嵌入)的預測值相關聯:

> cor(mpg.model$model$mpg, mpg.model$fitted.values)
[1] 0.9111681

R實際上會為你做這個計算,但沒有告訴你,當你要求它創建一個模型的摘要時(如Brian的答案): lm對象的摘要包含R平方,這是方形的相關系數。 因此,獲得相同結果的另一種方法是從summary.lm對象中提取R平方並獲取它的平方根,因此:

> sqrt(summary(mpg.model)$r.squared)
[1] 0.9111681

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM