首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红外图像中微生物网络的分析

红外图像中微生物网络的分析
EN

Stack Overflow用户
提问于 2020-05-28 16:24:01
回答 2查看 233关注 0票数 0

我有所有分类级别的细菌OTU表。我想用I(或任何其他包)来绘制网络。我从来没有创建过这样的情节,所以如果有人知道一些初学者的教程链接?或者,如果有人用剧本指导我,你的时间会很感激的。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-28 16:54:16

  1. 网络分析中的关系数据集至少由一个描述链接的data.frame (或矩阵)组成,其中包含至少2个cols,以便在data.frame的第2个cols上指示'from‘和' to’链接。这份“边表”的其他部分则表示了每一个字的特点。接下来,让我们称其为data.frame edgeslist
  2. 您可能不需要第二个数据集,以指示节点的特性,也就是“节点-列表”。这些是第二个data.frame (或矩阵),第一个表示节点的名称,其他的表示每个节点的特性。图中的节点列表必须指示每个节点。每个节点必须只在节点列表中出现一次,而在edgeslist (从“从”到“到”列)中没有一个节点被允许在节点列表中丢失。接下来,让我们称其为data.frame nodeslist
代码语言:javascript
复制
1. Then, you have to create an Igraph object with `igraph::graph_from_data_frame(edgeslist, directed = F, vertices = nodeslist)`
2. And you can access to this object for compile a bunch of global statistics or obtain some new-data associated with some nodes (e.g., `cliques <- igraph::largest_cliques(mygraph)` or `igraph::edge_density(mygraph, loops=T)` )
3. Or access to a very precise set of nodes or edges (e.g., `igraph::E(mygraph)$weight <- 1` or whatever func.
4. I suggest to play with the edge-list and the tidyverse, in order to made group-statistics.

尝试找到一些现有的教程,如这一个

票数 1
EN

Stack Overflow用户

发布于 2020-05-29 19:13:26

我不明白您有哪些数据,这里是一个用于小网络分析的例程:

  1. 你首先要定义你想要分析的联系(例如,什么关系?)边是指向的--也许是相互的--还是没有?节点和边缘的哪些特征是相关的?)
  2. 然后你必须建立你的边缘-列表。在我的例子中,小型网络最常见的方法(不需要很大的性能)是使用data.frame制作潮间带。在网络分析的每一种情况下,您都需要一个边缘列表。它通常是一个data.frame,有两个实体之间的链接,你称之为你的网络。然后进行分析:
代码语言:javascript
复制
- FOR SMALL GRAPH ONLY, you start by plotting and read the plot. Hereafter, an edges-list sent to igraph and plotted, assuming you require about the tidyverse syntax (`%>%`):  

myedgeslist <- data.frame(from = c('man1', 'man2','man3', 'man3'), to = c('man3','man1','man1', 'man2') ) mygraph <- myedgeslist %>% igraph::graph_from_data_frame(directed = T) mygraph %>% igraph::plot.igraph()

在3个节点之间用4个链路绘制了一个小的有向网络( IGRAPH DN-- 3 4 --表示DN有向网络,3个节点和4个链路)。

  • 同时,您还必须创建一些tidyverse组统计数据,例如,

myedgeslist %>% group_by(to) %>% summarise(nlinksto= n(), n_nodes=n_distinct(from)) %>% arrange(desc(n_nodes))说'man1‘是最核心的节点,因为有2个链接给他( man3和man2只有一个链接)。

  • 同时,正如我前面所说,阅读一些关于网络分析的理论内容,并计算出理解网络的指标(中心性,互惠性)。。.)。例如, mygraph %>% igraph::edge_density()说,66 %的有向链路是在这个网络中实现的。

PS:绘制大型网络通常是个坏主意,你必须将它们分成几个部分,或者通过全局/分组统计数据恢复网络。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62069657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档