R语言 如何创建相关热图
在这篇文章中,我们来看看如何在R编程语言中绘制相关热图。
分析数据通常涉及对每个特征的详细分析,以及它是如何相互关联的。找到每个特征之间的关系强度,或者换句话说,两个变量是如何相互关联的,这是至关重要的。如果这些变量朝同一方向增长,就是正相关,否则就是负相关。这种相关性可以通过各种图表来体现,如散点图等。
加载数据
让我们加载环境数据集并使用head( )函数查看数据的前6行。
输出 :
创建相关矩阵
让我们使用cor( )函数为我们的数据创建一个相关矩阵,并将每个值四舍五入到小数点后2位。这个矩阵可以用来轻松创建热图。
输出。
使用ggplot2绘制相关热图
使用ggplot2让我们在热图上可视化相关矩阵。
函数: ggplot(data = NULL, mapping = aes(), …, environment = parent.frame() )
参数 。
- data – 用于绘制的默认数据集。
- mapping – 绘图时使用的默认美学映射列表
- environment – DEPRECATED。在整洁性评估之前使用
让我们通过使用melt( )函数绘制热图并使用ggplot绘制热图来减少相关矩阵的大小。从这个热图中,我们可以很容易地解释哪些变量/特征是更相关的,并利用它们进行深入的数据分析。ggplot函数接收了一个缩小的相关矩阵和美学映射。
输出 :
重新排列相关矩阵和绘制热图
根据系数对相关矩阵进行重新排序或分类有助于我们轻松识别特征/变量之间的模式。让我们看看如何使用hclust( )函数通过对特征进行分层聚类(分层聚类)来重新排列相关矩阵。
输出:
将相关系数添加到热图中
相关系数是一种表示两个变量之间关系有多强的措施。系数的绝对值越高,相关性就越高。
让我们用相关矩阵中的 “值 “列作为文本,将相关热图与地图上的相关系数一起可视化。使用geom_text( )函数可以在热图上添加注释并使用 “值 “作为标签。
输出 :
使用heatmaply绘制相关热图
让我们使用R中的heatmaply包,用heatmaply_cor( )函数绘制一个相关热图。数据的相关性是输入矩阵,”特征 “列作为x和y轴参数。
功能: heatmaply_cor(x, limits = c(-1, 1), xlab, ylab, colors = cool_warm,k_row, k_col …)
参数。
- x – 可以是一个heatmapr对象,也可以是一个数字矩阵
- limits – 一个二维的数字向量,指定刻度的数据范围
- colors – 一个用于热图颜色的颜色向量
- k_row – 一个整数标量,包含所需的组数,用于给树状图的
- 行中分支的颜色
- k_col – 一个整数标量,用于给树状图的列中的分支着色。
- xlab – X轴的字符标题。
- ylab – Y轴的字符标题。
输出:
使用ggcorplot绘制相关热图
让我们使用R中的ggcorplot包,用ggcorrplot( )函数绘制一个相关热图。数据的相关矩阵被作为输入的corr矩阵给出。
函数: ggcorrplot(corr,method = c(“square”, “circle”) …)
参数。
- corr – 要可视化的相关矩阵
- method – 特征,要使用的相关矩阵的可视化方法
输出:
绘制相关热图的下三角图
让我们看看如何绘制相关热图的下三角并使其可视化。这可以通过将相关矩阵的上三角值替换为NA来完成,然后通过融化过程将这个矩阵缩小并绘制出来。
输出:
绘制相关热图的上三角图
让我们看看如何绘制相关热图的上三角并使其可视化。这可以通过将相关矩阵的下三角值替换为NA来完成,然后通过融化过程将这个矩阵缩小并绘制出来。
输出 :
创建一个交互式相关热图
当用户在图上悬停时,交互式图显示每个数据点的详细信息。让我们看看如何使用相关矩阵和p值矩阵绘制交互式相关热图。 ggplotly( ) 函数接收了数据的相关矩阵,并给出了交互式热图图,在地图上悬停时可以查看细节。
函数: ggplotly( p = ggplot2::last_plot(), width = NULL, height = NULL … )
参数。
- p – 一个ggplot对象
- width – 绘图的宽度,以像素为单位(可选,默认为自动大小)。
- height – 绘图的高度,以像素为单位(可选,默认为自动大小)。
输出: