准备相关矩阵的数据

时间:2018-08-02 19:39:30

标签: r

我想在R中创建并绘制一个相关矩阵。

我有三个向量,可从中创建一个dataFrame。 在2D-XY-Coordiante系统中,矢量“索引”将位于x轴上。 然后我有两个变量“ var1”和“ var2”(y值),每个具有相同矢量索引的值都属于相同的索引(x)值。

由于无法正确准备数据,我试图绘制一个相关矩阵而失败。

如何准备以下相关图的数据?

                            var2
           900  800  700  600  500  400  300 200  
     900   
     800
     700
     600   filled with pairwise corrleation coefficients 
var1 500
     400
     300
     200

这是我到目前为止尝试过的:

 var1 <- c(10,20,3,1,10,4,21,2)
 var2 <-  c(1,44,1,19,19,29,1,3)
 index <- c(200,300,400,500,600,700,800,900)

 df <- data.frame(id = index, y1 = var1, y2=var2)
 M <- cor(df)

 install.packages("corrplot")
 library('corrplot')
 corrplot(M, method = "circle")

非常感谢您!

1 个答案:

答案 0 :(得分:1)

希望这就是您想要的。

library(tidyr)
library(corrplot)
(df_wide <- df %>% 
  gather(y, y_value, -id) %>% 
  spread(id, y_value))
#   y 200 300 400 500 600 700 800 900
#1 y1  10  20   3   1  10   4  21   2
#2 y2   1  44   1  19  19  29   1   3

计算相关性并绘制图。

(M <- cor(df_wide[-1]))
#    200 300 400 500 600 700 800 900
#200   1  -1   1  -1  -1  -1   1  -1
#300  -1   1  -1   1   1   1  -1   1
#400   1  -1   1  -1  -1  -1   1  -1
#500  -1   1  -1   1   1   1  -1   1
#600  -1   1  -1   1   1   1  -1   1
#700  -1   1  -1   1   1   1  -1   1
#800   1  -1   1  -1  -1  -1   1  -1
#900  -1   1  -1   1   1   1  -1   1

corrplot(M, method = "circle")

enter image description here