本文介绍了将图用于R中的多个图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个名为w1 w2 w3 w4 .............. w100的图形,总共有100个这样的图形,如果我想计算这些图形的modularity,那么有没有什么方法可以让我编写一个函数,使它计算每个图形的模数并返回一个数值向量,或者我们必须为每个文件手动计算它(我现在正在做的方式)?
我使用的作图代码:
wt=read.table("NP7.txt") wt1=matrix(nrow=nrow(wt), ncol=2) wt1=data.frame(wt1) wt1[,1:2]=wt[,1:2] write.table(wt1,"test.txt") library(igraph) wt=read.table("test.txt") wg7 <- graph.edgelist(cbind(as.character(wt$X1), as.character(wt$X2)), directed=F) sum(clusters(wg7)$csize>2) plot(wg7) 我有大约100个像NP1.txt NP2.txt ........... NP100.txt这样的文件,我必须为它们绘制图表。并且我当前将图形名称保存为wg1 wg2 wg3 ............. wg100。 推荐答案所以看起来您的文本文件有边缘列表,没有标题行。那么这应该相当接近了。
library(igraph) files <- paste0("NP",1:100,".txt") f.mod <- function(file) { w <- read.table(file) g <- graph.edgelist(cbind(as.character(w$V1),as.character(w$V2))) plot(g) wtc <- walktrapmunity(g) return(modularity(wtc)) } mods <- sapply(files,f.mod)如果需要图表列表,请执行以下操作:
get.igraph <- function(file) { w <- read.table(file) g <- graph.edgelist(cbind(as.character(w$V1),as.character(w$V2))) } graphs <- lapply(files,get.igraph) lapply(graphs,plot) mods <- sapply(graphs,function(g)modularity(walktrapmunity(g)))更多推荐
将图用于R中的多个图
发布评论