第 11 章 其他有趣图形

11.1 相关矩阵

11.1.1 问题

你想要可视化多元变量间的相关性强度。

11.1.2 方案

假设所要分析的数据(如下):

  1. # 设置伪随机数种子
  2. set.seed(955)
  3. # 生成符合正态分布的20个随机数
  4. vvar <- 1:20 + rnorm(20, sd = 3)
  5. wvar <- 1:20 + rnorm(20, sd = 5)
  6. xvar <- 20:1 + rnorm(20, sd = 3)
  7. yvar <- (1:20)/2 + rnorm(20, sd = 10)
  8. zvar <- rnorm(20, sd = 6)
  9. # 使用向量生成数据框(向量名为列名)
  10. data <- data.frame(vvar, wvar, xvar, yvar, zvar)
  11. head(data)
  12. #> vvar wvar xvar yvar zvar
  13. #> 1 -4.252 5.122 16.02 -15.156 -4.087
  14. #> 2 1.702 -1.323 15.84 -24.064 3.468
  15. #> 3 4.323 -2.157 19.86 2.307 -3.045
  16. #> 4 1.781 0.788 17.65 2.565 1.449
  17. #> 5 11.537 -1.308 10.93 9.601 2.762
  18. #> 6 6.672 2.014 15.24 -3.466 5.750

可视化上述数据:

  1. # 导入以椭圆表征相关性强度的分析包
  2. library(ellipse)
  3. #>
  4. #> Attaching package: 'ellipse'
  5. #> The following object is masked from 'package:car':
  6. #>
  7. #> ellipse
  8. #> The following object is masked from 'package:graphics':
  9. #>
  10. #> pairs
  11. # 生成相关矩阵表
  12. ctab <- cor(data)
  13. # 表中数据保留两位小数
  14. round(ctab, 2)
  15. #> vvar wvar xvar yvar zvar
  16. #> vvar 1.00 0.61 -0.85 0.75 -0.21
  17. #> wvar 0.61 1.00 -0.81 0.54 -0.31
  18. #> xvar -0.85 -0.81 1.00 -0.63 0.24
  19. #> yvar 0.75 0.54 -0.63 1.00 -0.30
  20. #> zvar -0.21 -0.31 0.24 -0.30 1.00
  21. # 设置简化边幅并绘制相关性图
  22. plotcorr(ctab, mar = c(0.1, 0.1, 0.1, 0.1))

11 其他有趣图形 - 图1

  1. # 使用颜色表征相关性强度
  2. colorfun <- colorRamp(c("#CC0000", "white", "#3366CC"),
  3. space = "Lab")
  4. plotcorr(ctab, col = rgb(colorfun((ctab + 1)/2), maxColorValue = 255),
  5. mar = c(0.1, 0.1, 0.1, 0.1))

11 其他有趣图形 - 图2

11.1.2.1 提示

有关生成数值关联表的更多信息,查看回归和相关分析