R中的多重相关系数
我正在寻找一种方法来计算R中的多重相关系数,是否有一个内置函数来计算它? 我有一个因变量和三个独立变量。R中的多重相关系数,r,statistics,R,Statistics,我正在寻找一种方法来计算R中的多重相关系数,是否有一个内置函数来计算它? 我有一个因变量和三个独立变量。 我无法在网上找到它,知道吗?内置功能lm提供了至少一个版本,不确定这是否是您想要的: fit <- lm(yield ~ N + P + K, data = npk) summary(fit) fit | t |) (截距)54.650 2.205 24.784试试这个: # load sample data data(mtcars) # calculate correlatio
我无法在网上找到它,知道吗?内置功能
lm
提供了至少一个版本,不确定这是否是您想要的:
fit <- lm(yield ~ N + P + K, data = npk)
summary(fit)
fit | t |)
(截距)54.650 2.205 24.784试试这个:
# 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)
#使用以下公式计算“mtcars”中所有变量之间的相关系数
#inbulit函数
M计算多重相关系数(即一方面两个或多个变量之间的相关性,另一方面一个变量之间的相关性)的最简单方法是创建多元线性回归(从两个或多个被视为独立变量的值预测一个被视为相依变量的值)然后计算因变量的预测值和观测值之间的相关系数
例如,在这里,我们使用内置的mtcars
数据集创建一个称为mpg.model
的线性模型,其中mpg
作为因变量,wt
和cyl
作为自变量:
> mpg.model <- lm(mpg ~ wt + cyl, data = mtcars)
事实上,R会为你做这个计算,但没有告诉你,当你要求它创建一个模型的摘要时(如Brian的回答):一个lm
对象的摘要包含R平方,它是相关系数的平方。因此,获得相同结果的另一种方法是从summary.lm
对象中提取R平方,并取其平方根,因此:
> sqrt(summary(mpg.model)$r.squared)
[1] 0.9111681
你说的“编程公式”是什么意思?请阅读有关提问的内容,以便于人们帮助您。更多资源我的意思是,是否有一个内置函数来计算这样的东西,或者你必须自己计算。它可能是R平方的倍数,这就是我要找的:您必须阅读我建议的文档才能确定。summary.lm说,我不确定这是什么中的正确文档。您可以在控制台键入summary.lm
,查看它使用的代码,然后找出它的作用。看起来像是,ans$r.squared,如果我有三个数组x,y,z作为自变量,一个数组t作为相依变量,那么上面的解应该如何使用?感谢您的时间“试试这个”没有解释您的代码是做什么的。你的代码所做的实际上并不是要求的:它不是给出多重相关系数,而是在多对变量之间绘制一个相关系数矩阵。好的。我已经编辑了答案。顺便说一句,如果OP尝试了我的解决方案,那么OP应该运行M
来查看正在绘制的内容。我一直在避免用勺子舀溶液。这仍然不能满足OP的要求。您的代码首先要打印,然后绘制相关系数矩阵。OP要求的是多重相关系数。我的答案(你投了反对票)是这样的。这太长了。有一些更简单的内置函数来实现OP所要求的功能。你想到了哪些内置函数,@Crop89?好吧,已经快一年了,你还没有回答这个问题。事实上,R中没有内置函数来实现OP的要求。
> cor(mpg.model$model$mpg, mpg.model$fitted.values)
[1] 0.9111681
> sqrt(summary(mpg.model)$r.squared)
[1] 0.9111681