r - 如何从具有虚拟变量的数据中找到相关性和协方差矩阵?

标签 r matrix statistics correlation

我有一个数据集,其中包含列名称 Gender、IQ 和 Brain_Mass。当然只有 Gender 是分类变量,因此我通过将其设置为 gender=factor(Gender) 为其分配了一个虚拟变量。

但是,我想找到协方差矩阵和相关矩阵。我知道我可以只使用 cov2cor(V) 来获取相关矩阵,但如何从这些数据中获取协方差矩阵?我不认为我可以只使用 var(data) 因为存在一个虚拟变量..

如果有人能提供帮助,我将不胜感激。谢谢。

最佳答案

如果您有正当理由计算连续数据和分类数据组合的相关矩阵(例如需要将其输入到另一个函数中),那么一种方法是使用 model.matrix 将因子转换为虚拟变量编码的函数,然后将结果传递给 cor 或其他用于计算相关性或协方差的函数:

> cor(model.matrix(~.-1,data=iris[,3:5]))
                  Petal.Length Petal.Width Speciessetosa Speciesversicolor Speciesvirginica
Petal.Length         1.0000000   0.9628654    -0.9227654         0.2017545        0.7210109
Petal.Width          0.9628654   1.0000000    -0.8873437         0.1178988        0.7694449
Speciessetosa       -0.9227654  -0.8873437     1.0000000        -0.5000000       -0.5000000
Speciesversicolor    0.2017545   0.1178988    -0.5000000         1.0000000       -0.5000000
Speciesvirginica     0.7210109   0.7694449    -0.5000000        -0.5000000        1.0000000
> 

关于r - 如何从具有虚拟变量的数据中找到相关性和协方差矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229248/

相关文章:

r - 与data.table分组时,如何保留未出现在输入数据中的变量组合?

java - 在 Java 中从 ArrayList 进行无替换采样

c# - 时间序列统计 algrothim 在 C# 中生成递归数据结构

r - 如何查看R中的最近邻居?

r - 在 R 中,克里金法给出 "system is exactly singular"错误

r - 如何在 R 中重新排序数据,并为数据创建新变量?

r - R 函数错误 `is.positive.definite`

Android高效矩阵库

r - R 编程中的矩阵

R : knnImputation Giving Error