R实现热图与网络图组合并显示显著性

news2025/1/15 20:06:14

      大家好,我是带我去滑雪!

      热图和网络图分别展示了数据的不同方面。热图可用于显示变量之间的相关性或模式,而网络图则可用于显示节点之间的连接关系。通过将它们组合在一起,可以更全面地展示数据之间的关系和结构。下面开始代码实战。

(1)安装并调用相关R包

install.packages("vegan",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
install.packages("ggcor",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")

#安装devtools
install.packages("devtools")

#安装ggcor
devtools::install_local("F:/R-4.2.2/library/ggcor_master/ggcor-1-master", force = TRUE)


library(vegan) # Community Ecology Package
library(dplyr) # A Grammar of Data Manipulation
library(ggcor) # Extended tools for correlation analysis and visualization
library(ggplot2) # Create Elegant Data Visualisations Using the Grammar of Graphics

(2)导入数据

varechem<-read.csv("E:/工作/硕士/博客/博客粉丝问题/新建文件夹/mantel test/varechem.csv",header=TRUE,sep=",",fileEncoding = "GBK")
varespec<-read.csv("E:/工作/硕士/博客/博客粉丝问题/新建文件夹/mantel test/varespec.csv",header=TRUE,sep=",",fileEncoding = "GBK")
varechem
varespec

    varechem部分数据展示:

   X    N    P     K     Ca    Mg    S    Al    Fe    Mn   Zn   Mo Baresoil Humdepth  pH
1  18 19.8 42.1 139.9  519.4  90.0 32.3  39.0  40.9  58.1  4.5 0.30    43.90      2.2 2.7
2  15 13.4 39.1 167.3  356.7  70.7 35.2  88.1  39.0  52.4  5.4 0.30    23.60      2.2 2.8
3  24 20.2 67.7 207.1  973.3 209.1 58.1 138.0  35.4  32.1 16.8 0.80    21.20      2.0 3.0
4  27 20.6 60.8 233.7  834.0 127.2 40.7  15.4   4.4 132.0 10.7 0.20    18.70      2.9 2.8
5  23 23.8 54.5 180.6  777.0 125.8 39.5  24.2   3.0  50.1  6.6 0.30    46.00      3.0 2.7
6  19 22.8 40.9 171.4  691.8 151.4 40.8 104.8  17.6  43.6  9.1 0.40    40.50      3.8 2.7
7  22 26.6 36.7 171.4  738.6  94.9 33.8  20.7   2.5  77.6  7.4 0.30    23.00      2.8 2.8
8  16 24.2 31.0 138.2  394.6  45.3 27.1  74.2   9.8  24.4  5.2 0.30    29.80      2.0 2.8
9  28 29.8 73.5 260.0  748.6 105.3 42.5  17.9   2.4 106.6  9.3 0.30    17.60      3.0 2.8
10 13 28.1 40.5 313.8  540.7 118.9 60.2 329.7 109.9  61.7  9.1 0.50    29.90      2.2 2.8
11 14 21.8 38.1 146.8  512.2  75.0 36.6  92.3   4.6  29.0  8.1 0.50    33.30      2.7 2.7
12 20 26.2 61.9 202.2  741.2  86.3 48.6 124.3  23.6  94.5 10.2 0.60    56.90      2.5 2.9
13 25 22.8 50.6 151.7  648.0  64.8 30.2  12.1   2.3 122.9  8.1 0.20    23.70      2.6 2.9
14  7 30.5 24.6  78.7  188.5  55.5 25.3 294.9 123.8  10.1  3.0 0.40    18.60      1.7 3.1
15  5 33.1 22.7  43.6  240.3  25.7 14.9  39.0   8.4  26.8  8.4 0.20     8.10      1.0 3.1
16  6 19.1 26.4  61.1  259.1  37.0 21.4 155.1  81.4  20.6  4.0 0.60     5.80      1.9 3.0

varespec部分数据展示:

(3)绘制组合图

mantel <- mantel_test(varespec, varechem,
                      spec.select = list(Spec01 = 1:7,
                                         Spec02 = 8:18,
                                         Spec03 = 19:37,
                                         Spec04 = 38:44)) %>% 
  mutate(rd = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),
                  labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),
         pd = cut(p.value, breaks = c(-Inf, 0.01, 0.05, Inf),
                  labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))

quickcor(varechem, type = "upper") +
  geom_square() +
  anno_link(aes(colour = pd, size = rd), data = mantel) +
  scale_size_manual(values = c(0.5, 1, 2)) +
  scale_colour_manual(values = c("#D95F02", "#1B9E77", "#A2A2A288")) +
  guides(size = guide_legend(title = "Mantel's r",
                             override.aes = list(colour = "grey35"), 
                             order = 2),
         colour = guide_legend(title = "Mantel's p", 
                               override.aes = list(size = 3), 
                               order = 1),
         fill = guide_colorbar(title = "Pearson's r", order = 3))

    图形效果:

需要数据集的家人们可以去百度网盘(永久有效)获取:

链接:https://pan.baidu.com/s/173deLlgLYUz789M3KHYw-Q?pwd=0ly6
提取码:2138 


更多优质内容持续发布中,请移步主页查看。

若有问题可邮箱联系:1736732074@qq.com 

博主的WeChat:TCB1736732074

   点赞+关注,下次不迷路!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1497045.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构界的终极幻神----树

目录 一.数的概念和分类 种类 二.重点概念 哈希树: 二叉树的线索化 什么是线索化 为什么要线索化 特殊的查找树 完全二叉树 三.手撕完全二叉树(堆) 重点讲解 向上搜索算法 向下搜索算法 一.数的概念和分类 树&#xff08;tree&#xff09;是包含 n(n≥0) [2] 个节…

机器学习笔记 DeepFakes和换脸技术简述

一、简述 人脸检测一直是 2000 年代初的主要研究课题。差不多二十年后,这个问题基本上得到了解决,并且人脸检测在大多数编程语言中都可以作为库使用。甚至换脸技术也不是什么新鲜事,并且已经存在了好些年了。 早在2016年左右就有基于OpenCV进行面部交换的方式了,主要是基于…

安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析

上期解析了下adb端口备份分区的有关操作 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 在以往的博文中对于高通芯片机型的分区读写已经分享了很多。相关类似博文 安卓备份分区----手动查询安卓系统分区信息 导出系统分区的一些基本操作 …

【C++】C/C++内存管理详解

个人主页 &#xff1a; zxctscl 文章封面来自&#xff1a;艺术家–贤海林 如有转载请先通知 目录 1. 前言2. C/C内存分布3. C语言中动态内存管理方式4. C中动态内存管理4.1 new/delete操作内置类型4.2 new和delete操作自定义类型 5. operator new与operator delete函数5.1 oper…

【MySQL】not in遇上null的坑

今天遇到一个问题&#xff1a; 1、当 in 内的字段包含 null 的时候&#xff0c;正常过滤&#xff1b; 2、当 not in 内的字段包含 null 的时候&#xff0c;不能正常过滤&#xff0c;即使满足条件&#xff0c;最终结果也为 空。 测试如下&#xff1a; select * from emp e;当…

SoundTouch对音频处理(Android)

SoundTouch对音频处理&#xff08;Android&#xff09; SoundTouch介绍 SoundTouch 是一个用于音频处理的开源库&#xff0c;主要用于改变音频的速度、音调和音量等特征。您可以在项目中使用 SoundTouch 库来实现音频处理的功能&#xff0c;比如变速播放、音高变化、混响效果…

设计模式之模版方法实践

模版方法实践案例 实践之前还是先了解一下模版方法的定义 定义 模板方法模式是一种行为设计模式&#xff0c;它定义了一个骨架&#xff0c;并允许子类在不改变结构的情况下重写的特定步骤。模板方法模式通过在父类中定义一个模板方法&#xff0c;其中包含了主要步骤&#xf…

绳牵引并联机器人动态避障方法

绳牵引并联机器人在受限空间中如何躲避动态障碍物&#xff0c;是个有挑战的课题。 来自哈尔滨工业大学&#xff08;深圳&#xff09;的熊昊老师团队&#xff0c;开展了一项有趣的研究&#xff0c;论文《Dynamic Obstacle Avoidance for Cable-Driven Parallel Robots With Mob…

MySQL实战45讲——30答疑文章(二):用动态的观点看加锁

目录 不等号条件里的等值查询 等值查询的过程 怎么看死锁&#xff1f; 怎么看锁等待&#xff1f; update 的例子 小结 上期问题时间 提示 文章摘自林晓斌老师《MySQL实战45讲》&#xff0c;作为笔记而用&#xff0c;故有加一些自己的理解。在第[20]和[21]篇文章中&…

【Python】3. 基础语法(2) -- 语句篇

顺序语句 默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的. print("1") print("2") print("3")执行结果一定为 “123”, 而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码, 我们称为 顺序语句. 这个顺序是很关…

2-web端管理界面使用rabbitmq

Web管理界面可以直接操作RabbitMQ&#xff0c;下面进行操作并记录步骤 1、添加交换器&#xff1a; Add a new exchange 中&#xff0c;Name是交换器名称&#xff0c;Type是交换器类型&#xff0c;有direce、fanout、heders、topic 4种。 这里先只填Name和选个类型&#xff0c;…

BurpSuite2024.2.1

1.更新介绍 此版本引入了特定的API 扫描功能&#xff0c;并将 Bambdas 合并到 Logger 捕获过滤器中。我们还改进了 DOM Invader 和 Burp Suite 导航记录器的功能&#xff0c;并进行了许多其他改进和错误修复。 API扫描 我们引入了特定的 API 扫描功能。您现在可以上传 OpenAP…

C语言数据结构(6)——队列

欢迎来到博主的专栏——C语言进阶指南 博主ID&#xff1a;代码小豪 文章目录 队列顺序结构的队列顺序队列的初始化顺序队列的入队列操作判断队列是否为空顺序队列的出队列操作顺序队列操作的所有代码 链式结构的队列链式队列的初始化链式队列的初始化链式队列的入队列操作链式…

Python读取.csv/.txt文件并画图

文章目录 读取.txt文件并画出每列数据读取.csv文件并画出每列数据python绘图的基本知识补充 读取.txt文件并画出每列数据 main.ipynb //注意文件类型为.ipynbimport matplotlib.pyplot as plt import numpy as npdata np.loadtxt(result.txt) fig plt.figure(dpi100,figsize…

TabLayout预览不了?

<TableLayoutandroid:layout_width"wrap_content"android:layout_height"wrap_content"/> 当然预览不了了&#xff0c;这其实不是我要的控件。 而实际需要的是TabLayout 不是TableLayout &#xff01;&#xff01;&#xff01; <com.google.an…

浅析extern关键字

C中extern关键字的使用 文章目录 C中extern关键字的使用前言正文1. C与C编译区别2. C调用C函数3. C中调用C函数 总结 前言 ​ C 是一种支持多范式的编程语言&#xff0c;它既可以实现面向对象的编程&#xff0c;也可以实现泛型编程和函数式编程。C 还具有与C语言的兼容性&…

2024.3.4 JAVA 复习

Java环境搭建 1、JDK和JRE的概述 JDK&#xff1a;Java开发工具包(Java Development Kit), 包含开发工具 和 JRE. 常用的开发工具: javac, java JRE&#xff1a;Java运行时环境(Java Runtime Environment), 包含运行Java程序时所需的核心类库和 JVM. 核心类库: java.lang, jav…

YTM32同步串行通信引擎SPI外设详解(slave part)

YTM32同步串行通信引擎SPI外设详解&#xff08;slave part&#xff09; 文章目录 YTM32同步串行通信引擎SPI外设详解&#xff08;slave part&#xff09;IntroductionPricinple & Mechinism引脚信号Slave从机工作模式发送/命令FIFO和接收FIFOMatch匹配接收功能硬件片选和内…

windows环境下编译调试x265工程

1、在具备visual studio软件情况下&#xff0c;源码和工具下载 下载x265源码&#xff1a;https://github.com/videolan/x265 下载cmake:https://cmake.org/download/ 2、生成x265的工程项目 在自己cmake目录下&#xff0c;找到cmake-gui.exe&#xff0c;安装目录的bin习&#x…

CC攻击的特征和防护措施

随着互联网的快速发展&#xff0c;网络攻击日益频繁。在目前的各种网络攻击中&#xff0c;CC攻击是一种常见的网络攻击手段之一。CC攻击&#xff08;也称为DDoS攻击&#xff09;是指通过大量请求或恶意流量向目标网站或服务器发送请求&#xff0c;以使其服务不可用。可能大家都…