R语言 使用ggplot2实现相关矩阵的可视化
在这篇文章中,我们将讨论如何使用R编程语言中的ggplot2包实现相关矩阵的可视化。
为了做到这一点,我们将安装一个名为 ggcorrplot 包的软件包。在这个包的帮助下,我们可以很容易地将相关矩阵可视化。我们还可以通过使用这个包中的一个函数来计算相关的P值矩阵。 corr_pmat() 用于计算p值的相关矩阵, ggcorrplot() 用于使用ggplot显示相关矩阵。
语法:
corr_pmat(x,..)
其中x是数据框或矩阵
语法
ggcorrplot(corr, method = c("circle", "square"), type = c("full", "lower", "upper"), title = "", ggtheme=ggplot2::theme_minimal, show.legend = TRUE, legend.title = "corr", show.diag = FALSE, colors = c("blue", "white", "red"), outline.color = "gray", hc.order = FALSE, hc.method = "complete", lab = FALSE, lab_col ="black", p.mat = NULL,. )
开始使用
我们将首先安装并加载 ggcorrplot 和 ggplot2 包,使用 install.packages() 来安装,使用 library() 来加载包。我们需要一个数据集来构建我们的相关矩阵,然后将其可视化。我们将在 cor() 函数的帮助下创建我们的相关矩阵,该函数计算相关系数。在计算完相关矩阵后,我们将使用 corr_pmat() 函数计算相关的p值矩阵。接下来,我们将使用ggplot2的 ggcorrplot() 函数将相关矩阵可视化。
创建一个相关矩阵
为了更好地解释我们的方法,我们将采取一个样本数据集。我们将采用内置的USArrests数据集,并按照上述方法将其相关矩阵可视化。我们将使用data()函数读取数据,并在cor()函数的帮助下创建相关矩阵以计算相关系数。round()函数用于将数值四舍五入到一个特定的小数值。我们将使用cor_pmat()函数来计算带有p值的相关矩阵。
语法:
correlation_matrix <- round(cor(data),1)
参数 :
- correlation_matrix : 用于可视化的相关矩阵的变量。
- data : data是我们用于可视化的数据集。
语法
corrp.mat <- cor_pmat(data)
参数:
- corrp.mat : 带有p值的相关矩阵的变量。
- data: 这是我们用来创建带有p值的相关矩阵的数据集。
例子: 创建一个相关矩阵
输出:
相关矩阵的可视化
现在,由于我们有一个相关矩阵和带有p值的相关矩阵,我们现在将尝试将这个相关矩阵可视化。第一个可视化的方法是使用ggcorrplot()函数,以方形和圆形的方法绘制我们的相关矩阵。
语法:
ggcorrplot(correlation_matrix, method= c("circle", "square"))
参数 :
- correlation_matrix : 用于可视化的相关矩阵。
- method : 它是一个用于可视化方法的字符值。
例子: 使用不同的方法使相关矩阵可视化
输出:
循环法的相关矩阵
方形法 的相关矩阵
用不同的布局将相关矩阵可视化
- 接下来,我们将在我们的相关矩阵中可视化相关图的布局类型,并在ggcorrplot()函数中提供hc.order和类型,作为下三角布局的下限和上三角布局的上限参数。
语法 :ggcorrplot(correlation_matrix, hc.order = TRUE, type = c("upper", "low"), outline.color = "white ")
参数:
- correlation_matrix : 用于可视化的相关矩阵。
- hc.order : 如果它是真的,那么相关矩阵将被排序。
- type : 它是要显示的字符的排列。
- outline.color : 它是方形或圆形的轮廓颜色。
例子: 使用不同的布局实现相关矩阵的可视化
输出:
带有上层布局的相关矩阵
下层布局的相关矩阵
重新安排相关矩阵的顺序
我们现在将通过使用分层聚类对矩阵进行重新排序来可视化我们的相关矩阵。我们将使用ggcorrplot函数,以相关矩阵、hc.order、outline.color作为参数来做这件事。
语法:
ggcorrplot(correlation_matrix, hc.order = TRUE, outline.color = "white")
参数 :
- correlation_matrix : 用于可视化的相关矩阵。
- hc.order : 如果它是真的,那么相关矩阵将被排序。
- outline.color : 它是方形或圆形的轮廓颜色。
例子: 相关矩阵的重新排序
输出 :
引入相关系数
现在我们将通过使用ggcorrplot函数并提供相关矩阵、hc.order、type和 lower变量作为参数来添加相关系数,从而使我们的相关矩阵可视化。
语法:
ggcorrplot(correlation_matrix, hc.order = TRUE, type = "lower", lab = TRUE)
参数 :
- correlation_matrix : 用于可视化的相关矩阵。
- hc.order : 如果它是真的,那么相关矩阵将被排序。
- type : 它是要显示的字符的排列。
- lab : 它是一个逻辑值。如果它为真,那么我们就把相关系数添加到我们的矩阵中。
例子: 引入相关系数
输出:
增加显著性水平
基本上,显著性水平用α来表示。我们将显著性水平与p值进行比较,以检查变量之间的相关关系是否显著。如果p值小于等于α值,那么相关关系就是显著的,否则就是不显著的。
我们将通过增加显著性水平而不采取任何显著系数来可视化我们的相关矩阵。我们将使用ggcorrplot函数来完成这一工作,并将参数作为我们的相关矩阵、hc.order、类型和我们的相关矩阵与p值。
语法:
ggcorrplot(correlation_matrix, hc.order=TRUE, type="lower", p.mat=corrp.mat)
参数 :
- correlation_matrix : 我们要可视化的相关矩阵。
- hc.order : 如果其值为真,那么相关矩阵将被排序。
- type : 它是要显示的字符的排列。
- p.mat : 带有p值的相关矩阵。
例如: 添加系数的显著性水平
输出:
在没有显著性水平的地方留出空白
我们现在将通过在没有显著性水平的地方留空来可视化我们的相关矩阵。在前面的例子中,我们向我们的相关矩阵添加了一个显著性水平。在这里,我们将删除相关矩阵中那些我们没有发现任何显著性水平的部分。
我们将使用ggcorrplot函数来做这件事,并接受参数,如我们的相关矩阵、带有p值的相关矩阵、hc.order、type和insig。
语法:
ggcorrplot(correlation_matrix, hc.order=TRUE, p.mat=corrp.mat, type="lower", insig="blank")
参数
correlation_matrix : 我们要可视化的相关矩阵。
- hc.order : 如果它是真的,那么相关矩阵将被排序。
- p.mat : 具有p值的相关矩阵。
- type : 它是要显示的字符的排列。
- insig : 它是一个主要包含不重要的相关系数的字符。该值默认为 “pch”。如果它被提供为空白,那么它将抹去相应的字形。
例如: 在无显著性水平上留空
输出: