【R语言+Gephi】利用R语言和Gephi实现共发生网络的可视化

news2024/11/13 9:42:46

【R语言+Gephi】利用R语言和Gephi实现共发生网络的可视化

注:本文仅作为自己的学习记录以备以后复习查阅

一 概述

Gephi是一款开源免费的多平台网络分析软件,在Windows、Linux和Mac os上均可以运行,像他们官网所说的,他们致力于创造像Photoshop一样的图表绘制软件。

软件特点如下:

符合人体工程学的界面:无需编程技能

高性能:内置渲染引擎。

原生文件格式:GDF (GUESS)、GraphML (NodeXL)、GML、NET (Pajek)、GEXF 等。

可通过插件进行自定义:布局、指标、数据源、操作工具、渲染预设等。

Gephi官方下载地址:https://gephi.org/users/download/
在这里插入图片描述

二 Gephi网络可视化及美化

在Gephi中我们可以通过边文件点文件创建网络图,步骤如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时可以对网络图进行美化,Fruchterman Reingold是最常用的网络布局,当然大家也可以试试看其他的布局运行出来是什么样的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在统计模块,我们可以进行如下图所示的计算,这些也是比较常用的,大家可以根据自己的需求进行计算:
在这里插入图片描述
美化后的呈现效果如下:
在这里插入图片描述

三 R语言数据预处理

其实有时候当你将数据预处理好了后,数据可视化反而是最容易的步骤。最常见的共发生网络分析过程是先计算相关系数矩阵,接着使用生成的gml/graphml格式的文件导入Gephi中使用上述过程进行可视化和个性化调整。当然了,强大如R语言,这个过程是完全可以用R语言完成的,如果你数据量不多你也可以手动编写边文件和点文件,在这里介绍如何用R语言完成这个数据准备的过程。

首先加载所需要的包并设置工作路径(也可以不设置,那么后面导入数据时需要写绝对路径),如果没有的用install.packages("包名")语句先安装:

library(igraph)
library(Hmisc)
setwd("G:\\desktop\\准博一方向摸索\\R+Gephi网络可视化")

接下来导入数据(如果是我们自己的数据建议先另存为CSV-UTF-8的格式,不然后面导入的时候可能会报错,并且注意数据文件不要有多余的空行,多检查一下)并将其转换为矩阵,再对其进行一定的数据过滤(这一步可以根据自己数据的需求进行修改):

otu=read.table("otu_data.xls" ,header=T,row.names = 1,sep = "\t")
otu<-as.matrix(otu)
#将丰度值大于1的值替换为1
dt<-otu
dt[dt>1]<-1
#将样本发现率低于20%的过滤掉;
no<-which(rowSums(dt)/ncol(dt)>0.2)
length(no)
otu<-otu[no,]

下面进行相关性的计算:

sp.cor<-rcorr(t(otu),type="spearman") # 这里也可以用Pearson
r.cor<-sp.cor$r
p.cor<-sp.cor$P

#使用Benjamini-Hochberg("FDR-BH")法进行多重检验校正(对p值的矫正);
p.adj <- p.adjust(p.cor, method="BH")

#指定阈值;
r.cutoff=0.6
p.cutoff=0.001

对相关矩阵进行一定的处理:

r.matrix<-r.cor
p<-p.adj 

r.matrix[which(r.cor <= r.cutoff)]=0
r.matrix[which(p.adj>p.cutoff)]=0

r.matrix<-r.matrix[which(rowSums(r.matrix)!=1),]
r.matrix<-r.matrix[,which(colSums(r.matrix)!=0)]

#查看过滤后的矩阵;
dim(r.matrix)
r.matrix[1:7,1:7]

接下来就可以用我们处理好的相关性矩阵进行网络的创建了:

# 创建网络
g1<-graph.adjacency(r.matrix,weight=T,mode="undirected")
g1<-simplify(g1)

# 生成网络图的结点标签(OTU id)和degree属性
V(g1)$label <- V(g1)$name
V(g1)$degree <- degree(g1)

# 查看网络图的对象结构
print(g1)

# 将网络图导出
write_graph(g1, "g1.graphml", format = "graphml") # 也可以导出为gml格式的

在这里插入图片描述
有了R帮我们做的预处理生的.graphml文件我们就可以直接双击在Gephi中进行调整了,美化后的图如下所示:
在这里插入图片描述
在这里插入图片描述

四 参考资料

1、https://www.omicshare.com/forum/thread-6116-1-1.html
2、Dissolved organic matter transformation mechanisms and process optimization of wastewater sludge hydrothermal humification treatment for producing plant biostimulants. https://doi.org/10.1016/j.watres.2023.119910

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

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

相关文章

YOLOv10改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

一、本文介绍 本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块(其其实不能算是Conv但是其应该是一整个模块)&#xff0c;我们将其用于C2f中组合出一种新的结构&#xff0c;来替换我们网络中的模块可以达到一种轻量化的作用&#xff0c;我将其…

全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用

全网最适合入门的面向对象编程教程&#xff1a;13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用 摘要&#xff1a; 本文主要介绍了可视化阅读代码神器Sourcetrail的安装与使用&#xff0c;包括软件简介和特性、下载地址、安装方式、新建工程和如何查看…

SpringMVC(3)——SpringMVC注解实战

前言 SpringMVC&#xff08;2&#xff09;——controller方法参数与html表单对应&#xff08;请求参数的绑定&#xff09; 上篇博客我们提到了controller方法的参数与html表单之间的对应关系 但是这种对应关系有很多缺点&#xff1a; 传递参数只能放在request的body当中&am…

LabVIEW与ABB工业机器人据监控

​1. 前言 随着工业自动化的发展&#xff0c;工业机器人在制造业中的应用越来越广泛。为了实现对工业机器人的高效监控和控制&#xff0c;本文介绍了利用OPC&#xff08;OLE for Process Control&#xff09;服务器将ABB工业机器人与LabVIEW连接起来的解决方案。通过OPC服务器…

Python——使用Seaborn钻石数据可视化分析(1)

目录 🧾 1、数据集(部分数据) ✏️ 2、导入数据集与必要模块 1️⃣ 导入数据 📍 通过info函数查看所有列数据的类型信息 2️⃣ 导入Seaborn工具包 📍 set_context 设置图形绘制时的上下文参数 📍 set_style 设置绘图风格 📍 set_palette 设置图标全局颜色…

数智驱动丨zAIoT 连续落地军工、科研院所和机械制造场景,推动数智化转型升级...

引言 在这个万物互联的时代&#xff0c;科技的进步正以不可阻挡之势&#xff0c;深刻地影响并重塑我们的生产和生活方式。数智化转型升级在各个领域展现出强大的动力&#xff0c;已经成为推动社会向前发展的关键力量。 最近&#xff0c;云和恩墨自主研发的数据智能分析处理平台…

mac M1安装 VSCode

最近在学黑马程序员Java最新AI若依框架项目开发&#xff0c;里面前端用的是Visual Studio Code 所以我也就下载安装了一下&#xff0c;系统是M1芯片的&#xff0c;安装过程还是有点坑的写下来大家注意一下 1.在appstore中下载 2.在系统终端中输入 clang 显示如下图 那么在终端输…

从小主机到第一台自组装NAS:升级与优化记录

目录 前言硬件系统安装的波折过程问题解决系统安装 套件/dockerjellyfin 功耗测试刚安装好系统插上缓存盘且运行了更多的套件和 docker 容器之后 温度场景一场景二场景三 后记参考 在使用了一年的小主机 NAS 后&#xff0c;我决定自己组装并安装新 NAS。本文详细记录了硬件选择…

Audio Toolbox 框架简介

Audio Toolbox 框架简介 Audio Toolbox 框架简介Audio Unit播放和录制音频文件和格式 Audio Toolbox 框架简介 AudioToolbox 框架为录制、播放和流解析提供了接口。在 iOS 中&#xff0c;该框架为管理音频会话提供了额外的接口。 AudioToolbox 框架的基本情况&#xff1a; Au…

海狐外卖O2O商城系统:技术架构与运营模式的深度解析

摘要&#xff1a; 本文深入探讨了海狐外卖O2O商城系统的技术架构、功能特性以及运营模式。海狐外卖作为一款专注于细分市场领域的外卖餐饮解决方案&#xff0c;不仅拥有先进的技术栈支持&#xff0c;还通过丰富的系统插件和灵活的运营模式&#xff0c;为商户和用户提供高效、便…

scratch3编程05-画笔绘制圆及与圆相关的图形

目录 一&#xff0c;圆 1&#xff0c;空心圆 2&#xff0c;实心圆 3&#xff0c;嵌套在一起的圆 4&#xff0c;圆环 二&#xff0c;五角星 1&#xff0c;空心五角星 1&#xff09;思路 2&#xff09;完整的程序 2&#xff0c;实心五角星 1&#xff09;思路 2&…

14-62 剑和诗人36 - 混合专家 (MoE) 扩展 AI 视野

了解混合专家 (MoE) 混合专家 (MoE) 是一种机器学习技术&#xff0c;它将多个“专家”神经网络模型组合成一个更大的模型。MoE 的目标是通过组合专业专家&#xff08;每个专家专注于不同的子领域&#xff09;来提高 AI 系统的准确性和能力。 MoE 模型的一些关键特征&#xff1…

C. Earning on Bets

题目 个人补充&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 #define ll long longconst int maxn 1e6 5, in…

打印任务无法删除怎么办?

在删除打印任务的时候&#xff0c;你可能会遇到这样的情况&#xff0c;当我们想把打印任务取消的时候&#xff0c;却一直显示正在删除&#xff0c;而过了很久还没有取消掉&#xff0c;下面就分享一下处理这个问题的方法。 1、停止打印服务&#xff0c;按WinR键打开运行对话框&a…

项目进度管理(5-1)常见的缓冲区监控方法

缓冲区监控是一种项目管理技术&#xff0c;主要用于关键链项目管理系统&#xff08;Critical Chain Project Management, CCPM&#xff09;中。它的核心理念是识别和管理项目中的不确定性和依赖性&#xff0c;以提高项目完成的可靠性。 缓冲区监控方法主要是针对项目进度计划执…

Java面试八股之Redis有哪些数据类型?底层实现分别是什么

Redis有哪些数据类型&#xff1f;底层实现分别是什么 Redis数据类型概述 Redis作为一款键值存储系统&#xff0c;提供了丰富多样的数据类型以满足不同场景的需求。以下是Redis支持的主要数据类型及其基本用途&#xff1a; String&#xff08;字符串&#xff09; 存储单个键…

Python | Leetcode Python题解之第220题存在重复元素III

题目&#xff1a; 题解&#xff1a; class Solution(object):def containsNearbyAlmostDuplicate(self, nums, k, t):from sortedcontainers import SortedSetst SortedSet()left, right 0, 0res 0while right < len(nums):if right - left > k:st.remove(nums[left]…

Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇

Nginx七层&#xff08;应用层&#xff09;反向代理 UWSGI代理uwsgi_pass篇 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this a…

攻防世界 Web_python_template_injection(flask模版注入)

学习文章&#xff1a;https://www.freebuf.com/column/187845.html https://blog.csdn.net/weixin_54515836/article/details/113778233 flask的渲染方法有render_template和render_template_string两种。 render_template()是用来渲染一个指定的文件的。使用如下 return re…

时序分解 | Matlab基于ESMD极点对称模态分解

时序分解 | Matlab基于ESMD极点对称模态分解 目录 时序分解 | Matlab基于ESMD极点对称模态分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 ESMD&#xff08;Extreme-point Symmetric Mode Decomposition&#xff09;是一种信号分解方法&#xff0c;用于提取信号中的模…