R语言绘制相关系数图||线面组合

Python032

R语言绘制相关系数图||线面组合,第1张

是不是看到这种图心里痒痒的,三年了,终于有人把它重现出来了。

从原图我们很容易发现,主要有三部分:右上角是类似于corrplot包中的上三角相关系数图;下三角是一组点之间的连接线(作者用了弧线,直线也能达到同样的效果);剩余部分主要是图例等其它辅助绘图元素。

R语言才是最好的拼图软件,只要你愿意花时间。时间来到这个历史节点上,就是这个图已经有人做出来了,而且,以你残缺的R基础也已经重新在自己电脑上重新绘制出来(尽管是在单身的学长的帮助下)。那么,这个图里面的点线面及其颜色各代表什么实际的生物学或者社会学的意义,它在讲诉一个怎样的故事?花瓶型还是内涵型?

核心函数:segments。

图例框框

这张图不过是相关系数的展现形式的一种创新,炫的地方在与下面的几条线。那么,我们不禁要问,这种形式的图和pheatmap按照p值标签的图有什么本质的区别吗?

R语言之照猫画虎2

框内的数字是行变量和列变量之间的相关系数R,相关系数R绝对值越大,颜色越深(红正,蓝负)。统计学中,P值越小相关性越显著,一般来说 一个*代表显著相关(P值为0.01,选取不同参数可能不一样)、两个**代表极显著相关(P值为0.001)、三个***代表极极显著相关(P值为0.0001).   图中还可以看出,相关系数R的绝对值0.67(变量P50与T之间)以上的都显著相关,至少一个*。符合一般关于相关系数R值的显著性统计。

数据准备

corrgram包corrgram()函数。

corrgram(x, order=, panel=, text.panel=, diag.panel=)

其中,x是一行一个观测的数据框。当order = TRUE时,相关矩阵将使用主成分分析法对变量

重排序,这将使得二元变量的关系模式更为明显。选项panel设定非对角线面板使用的元素类型。你可以通过选项 lower.panel和upper.panel来分别设置主对角线下方和上方的元素类型。而text.panel和diag.panel选项控制着主对角线元素类型。

下三角部分,默认地,蓝色和从左下指向右上的斜杠表示单元格中的两个变量呈正相关。反过来,红色和从左上指向右下的斜杠表示变量呈负相关。色彩越深,饱和度越高,说明变量相关性越大。相关性接近于0的单元格基本无色。上三角单元格用饼图展示了相同的信息。颜色的功能同上,但相关性大小由被填充的饼图块的大小来展示。正相关性将从12点钟处开始顺时针填充饼图,而负相关性则逆时针方向填充饼图。

可以使用colorRampPallette()函数来指定四种颜色。

colorRampPalette 函数支持自定义的创建一系列的颜色梯度。

马赛克图(Mosaic Plot)是利用列联表对分类数据进行的图形表示,它可观察两个或多个分类变量之间的关系。

整个图形的长、宽概率值均为1,其被划分为多个矩形,每个矩形边长与所关联分类变量的概率分布成比例。

在马赛克图中,嵌套矩形面积正比于单元格频率,其中该频率即多维列联表中的频率。颜色和/或阴影可表示拟合模型的残差值。

vcd包mosaic()函数绘制马赛克图

mosaic()函数可按如下方式调用

mosaic(table)

其中table是数组形式的列联表。

另外也可用

mosaic(formula, data=)

其中formula是标准的R表达式,data设定一个数据框或者表格。

shade=TRUE将根据拟合模型的皮尔逊残差值对图形上色。

legend=TRUE 将展示残差的图例。

图表解读:图3反映的2021年品种a相对b而言,品种a的v1值大的比例较b高,2020年,两品种v1值大小均衡;2020年v1值在N1条件下数值大的比例较N2高,2021年两氮水平平衡

参考资料: