作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据集,其中包含列名称 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/
我是一名优秀的程序员,十分优秀!