R中的多重相关系数

时间:2015-04-17 02:20:15

标签: r statistics

我正在寻找一种计算R http://en.wikipedia.org/wiki/Multiple_correlation中多重相关系数的方法,是否有内置函数来计算它? 我有一个因变量和三个独立变量。 我无法在网上找到它,任何想法?

3 个答案:

答案 0 :(得分:2)

内置函数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正在进行的更多信息。

答案 1 :(得分:0)

试试这个:

data(mtcars)
M <- cor(mtcars)

library(corrplot)

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

答案 2 :(得分:-1)

计算多重相关系数(即,一方面是两个或多个变量,另一方面是一个变量之间的相关性)的最简单方法是创建多元线性回归(预测一个被视为相关变量的值)从两个或多个被视为独立变量的值),然后计算因变量的预测值与观察值之间的相关系数。

例如,在这里,我们使用构建的模型创建一个名为mpg.model的线性模型,其中mpg为因变量,wtcyl为自变量-在mtcars数据集中:

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

创建了上面的模型后,我们将mpg的观察值(嵌入在model数据框中的对象中)与相同变量(也嵌入了)的预测值相关联:

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

R实际上会为您执行此计算,但是当您要求它创建模型摘要(如Brian的回答)时,R会不告诉您:lm对象的摘要包含R-平方,即相关系数的平方。因此,获得相同结果的另一种方法是从summary.lm对象中提取R平方并取其平方根,因此:

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