R:如何突出显示数据集中最齐鲁风采群英会的变量

Antoine Soetewey 2020-02-22 7 minute read

介绍

齐鲁风采群英会性 ,通常作为一部分计算 描述性统计,是用于研究两个变量之间的关系的统计工具,即无论是否以及变量的强烈耦合。

一次在仅2个变量之间测量齐鲁风采群英会性。因此,对于具有许多变量的数据集,计算齐鲁风采群英会性可能变得非常麻烦和耗时。

齐鲁风采群英会矩阵

该问题的解决方案是计算齐鲁风采群英会性并以齐鲁风采群英会矩阵显示它们,其示出了在数据集中的两个变量的所有可能组合的齐鲁风采群英会系数。

For example, below is the correlation matrix for the dataset mtcars (which, as described by the help documentation of R, comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles).1 对于本文,我们只包括 连续的 variables.

dat <- mtcars[, c(1, 3:7)]
round(cor(dat), 2)
##        mpg  disp    hp  drat    wt  qsec
## mpg   1.00 -0.85 -0.78  0.68 -0.87  0.42
## disp -0.85  1.00  0.79 -0.71  0.89 -0.43
## hp   -0.78  0.79  1.00 -0.45  0.66 -0.71
## drat  0.68 -0.71 -0.45  1.00 -0.71  0.09
## wt   -0.87  0.89  0.66 -0.71  1.00 -0.17
## qsec  0.42 -0.43 -0.71  0.09 -0.17  1.00

即使在将齐鲁风采群英会系数舍入到2位数之后,您也会想象这种齐鲁风采群英会矩阵不容易且快速解释。

如果您正在使用 r markdown. , you can use the pander() function from the {pander} 包裹 to make it slightly more readable, but still, we must admit that this table is not optimal when it comes to visualizing correlations between several variables of a dataset, especially for large datasets.

相互言

为了解决这个问题并使其更有洞察力,让我们将齐鲁风采群英会矩阵转换为齐鲁风采群英会绘图。齐鲁风采群英会图(也称为齐鲁风采群英会图或CORCRAM 友好的 ( 2002))允许突出显示最多(正极和负面)的变量。下面是上面呈现的相同数据集的示例:

齐鲁风采群英会性表示所有变量对的齐鲁风采群英会性。正齐鲁风采群英会性以红色的蓝色和负齐鲁风采群英会性显示。颜色的强度与齐鲁风采群英会系数成比例,因此框架越亮相(即,越近-1或1)。齐鲁风采群英会性右侧的颜色图例显示齐鲁风采群英会系数和相应的颜色。

作为提醒,负齐鲁风采群英会意味着正在考虑的两个变量在相反的方向上变化,即,如果一个变量增加其他减少,反之亦然。正齐鲁风采群英会意味着正在考虑的两个变量在相同方向上变化,即,如果一个变量增加其他增加,并且如果一个变量也会降低其他变量。此外,齐鲁风采群英会性越强,两个变量之间的关联越强。

齐鲁风采群英会性测试

最后,齐鲁风采群英会形貌中的白色框表明齐鲁风采群英会性与指定意义水平的齐鲁风采群英会性没有显着差异(在此示例中,在 \(\ alpha = 5 \) %)对于几个变量。与0没有显着不同的齐鲁风采群英会性意味着存在 没有线性 考虑的两个变量之间的关系(可能是另一种关联,但除线性)。

为了确定特定的齐鲁风采群英会系数是否显着不同于0,已经执行了齐鲁风采群英会测试。提醒这次测试的空和替代假设是:

  • \(h_0 \) : \(\ rho = 0 \)
  • \(H_1) : \(\ rho \ ne 0 \)

在哪里 \(\ rho \) 是齐鲁风采群英会系数。齐鲁风采群英会试验基于两个因素:观察次数和齐鲁风采群英会系数。 2个变量之间的齐鲁风采群英会性越多,拒绝在这两个变量之间没有齐鲁风采群英会性的无齐鲁风采群英会性的缺点的可能性越大。

In the context of our example, the correlogram above shows that the variables wt (weight) and hp (horsepower) are positively correlated, while the variables mpg (miles per gallon) and wt (weight) are negatively correlated (both correlations make sense if we think about it). Furthermore, the variables wt and qsec are not correlated (indicated by a white box). Even if the correlation coefficient is -0.17 between the 2 variables, the correlation test has shown that we cannot reject the hypothesis of no correlation. This is the reason the box for these two variable is white.

尽管这种齐鲁风采群英会图具有比齐鲁风采群英会矩阵完全相同的信息,但是齐鲁风采群英会性呈现齐鲁风采群英会矩阵的视觉表示,允许快速扫描它以查看哪些变量齐鲁风采群英会,并且哪些变量不是。

代码

For those interested to draw this correlogram with their own data, here is the code of the function I adapted based on the corrplot() function from the {corrplot} 包裹 (thanks again to all contributors of this package):

The main arguments in the corrplot2() function are the following:

  • data:数据集的名称
  • method:计算的齐鲁风采群英会方法,“Pearson”(默认),“肯德尔”或“Spearman”之一。如果您的数据集包含 定量连续 具有线性关系的变量,可以保留Pearson方法。如果你有 定性序单 具有部分线性链路的变量或定量变量,Spearman方法更合适
  • sig.level:齐鲁风采群英会性测试的重要性水平,默认值为0.05
  • order:变量的顺序,“原始”(默认),“AoE”(eigenvectors的角度顺序),“FPC”(第一个主体组件顺序),“Hclust”(分层聚类顺序),“字母”(按字母顺序排列)命令)
  • diag:显示对角线上的齐鲁风采群英会系数?默认为 FALSE
  • type:显示整个齐鲁风采群英会矩阵或简单的上/下部,“上”(默认),“较低”,“完整”之一
  • tl.srt:可变标签的旋转
  • (请注意,数据集中缺少的值会自动删除)

You can also play with the arguments of the corrplot2 function and see the results thanks to this r闪亮的应用程序 .

{lares} package

Thanks to this article, I discovered the {lares} 包裹 which has really nice features regarding plotting correlations. Another advantage of this package is that it can be used to compute correlations with numerical, logical, categorical and date variables.

查看有关该软件包的更多信息 文章 .

所有可能的齐鲁风采群英会性

Use the corr_cross() function if you want to compute all correlations and return the highest and significant ones in a plot:

# devtools::install_github("laresbernardo/lares")
library(lares)

corr_cross(dat, # name of dataset
  max_pvalue = 0.05, # display only significant correlations (at 5% level)
  top = 10 # display top 10 couples of variables (by correlation coefficient)
)

负齐鲁风采群英会性在蓝色的红色和正齐鲁风采群英会中表示。

对所有其他变量对所有其他变量的齐鲁风采群英会性

Use the corr_var() function if you want to focus on the correlation of one variable against all others, and return the highest ones in a plot:

corr_var(dat, # name of dataset
  mpg, # name of variable to focus on
  top = 5 # display top 5 correlations
) 

谢谢阅读。我希望这篇文章能够帮助您可视化数据集中变量之间的齐鲁风采群英会性,并使齐鲁风采群英会矩阵更加富有洞察力和更具吸引力。如果您想了解有关此主题的更多信息,请参阅如何计算 r齐鲁风采群英会系数和齐鲁风采群英会试验.

一如既往,如果您有问题或与本文所涵盖的主题齐鲁风采群英会的建议,请将其添加为评论,以便其他读者可以从讨论中受益。

参考

友好,迈克尔。 2002.“Corrms:齐鲁风采群英会矩阵的探索性显示。” 美国统计学家 56 (4): 316–24.


  1. The dataset mtcars is preloaded in R by default, so there is no need to import it into R. Check the article “如何在r中导入excel文件“如果您需要帮助导入您自己的数据集。 ↩︎



喜欢这篇文章?

获取更新 每次发布新文章。
任何垃圾邮件都没有任何垃圾邮件。
分享: