Ali*_*vis 6 networking module r igraph
我igraph从我的数据集“allgenes”创建了我的,并找到了基于 louvain 方法的社区模块。
gD <- igraph::simplify(igraph::graph.data.frame(allgenes, directed=FALSE))
lou <- cluster_louvain(gD)
Run Code Online (Sandbox Code Playgroud)
在绘制模块时,我注意到有几个我希望删除的小社区。我将如何删除包含 5 个或更少节点的社区?
plot(lou, gD, vertex.label = NA, vertex.size=5, edge.arrow.size = .2)
Run Code Online (Sandbox Code Playgroud)
具有不同模块的绘图:

由于您没有提供示例,我将用随机生成的数据进行说明。
## First create an example like yours
library(igraph)
set.seed(123)
gD = erdos.renyi.game(50,0.05)
lou <- cluster_louvain(gD)
LO = layout_with_fr(gD)
plot(lou, gD, vertex.label = NA, vertex.size=5,
edge.arrow.size = .2, layout=LO)
Run Code Online (Sandbox Code Playgroud)
## identify which communities have fewer than 5 members
Small = which(table(lou$membership) < 5)
## Which nodes should be kept?
Keep = V(gD)[!(lou$membership %in% Small)]
## Get subgraph & plot
gD2 = induced_subgraph(gD, Keep)
lou2 = cluster_louvain(gD2)
LO2 = LO[Keep,]
plot(lou2, gD2, vertex.label = NA, vertex.size=5,
edge.arrow.size = .2, layout=LO2)
Run Code Online (Sandbox Code Playgroud)
小社区已被移除
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |