在 R 中手动创建相关矩阵
Manually creating a correlation matrix in R
我有一本书的相关性 table,我想将其导入 R。
最终目标是使用cor2cov
函数将这个相关矩阵转换为协方差矩阵。但是,为了做到这一点,我需要先将所有这些值读入 corr.mat
数据类型。我怎么做?我是否首先将值作为数据框读入?或者作为载体?
谢谢!
函数 cov
返回 x 和 y 之间的协方差矩阵(这里我添加了 x2 以向您展示您可以使用多个变量来实现)。您可以使用 cov2cor(df)
将协方差矩阵转换为相关矩阵。使用 ?cor
获取有关该函数的更多详细信息。
library(stats)
x <- seq(1,10,1)
x2 <- seq(1,20,2)
y <- c(0,0,0,0,0,0,1,1,1,1)
df <- data.frame(x,x2,y)
print(cov(df))
x x2 y
x 9.166667 18.333333 1.3333333
x2 18.333333 36.666667 2.6666667
y 1.333333 2.666667 0.2666667
我有一本书的相关性 table,我想将其导入 R。
最终目标是使用cor2cov
函数将这个相关矩阵转换为协方差矩阵。但是,为了做到这一点,我需要先将所有这些值读入 corr.mat
数据类型。我怎么做?我是否首先将值作为数据框读入?或者作为载体?
谢谢!
函数 cov
返回 x 和 y 之间的协方差矩阵(这里我添加了 x2 以向您展示您可以使用多个变量来实现)。您可以使用 cov2cor(df)
将协方差矩阵转换为相关矩阵。使用 ?cor
获取有关该函数的更多详细信息。
library(stats)
x <- seq(1,10,1)
x2 <- seq(1,20,2)
y <- c(0,0,0,0,0,0,1,1,1,1)
df <- data.frame(x,x2,y)
print(cov(df))
x x2 y
x 9.166667 18.333333 1.3333333
x2 18.333333 36.666667 2.6666667
y 1.333333 2.666667 0.2666667