我想使用R包的igraph打印图表的派系。我要打印的数据格式为 A B C(以Res1,Res2,Res3格式显示此数据......)
数据: Res1 Res2重量 A B 10 A C 1 C B 10 S B 1 L A 2
library(igraph)
file <- read.table("GraphDemo.net", header=TRUE)
graph <- graph.data.frame(file, directed=F)
Cliq <- cliques(graph, min = 3, max = NULL)
如果我们想在终端上打印Cliq
Cliq的
[[1]] + 3/5顶点,命名为: [1] A C B
这一切都非常好。但是如果我们想打印到文件:
write.table(t(Cliq), file="demo.dat",sep = "\t",quote=F,row.names = FALSE)
但文件的结果是: V1 c(1,2,5)
我想将数据打印为节点名称 A B C. 男人的出路是什么.. !!
答案 0 :(得分:3)
使用as_ids()
将igraph.vs对象转换为名称向量。你可以将它们编译成一个列表并按你认为合适的方式导出。
尝试:
g <- erdos.renyi.game(10,0.5,type="gnp",directed=F)
cliq<-cliques(g,min=3)
V(g)$name <- c("a","b", "c","d","e","f","g","h","i","j")
#Here's the function that will get the vertex names
names <- lapply(1:length(cliq), function(x) as_ids(cliq[[x]]))
现在,这将提取所有派系。如果您只对3号小组感兴趣,例如,您可以使用cliques()
调用或lapply()
函数对其进行限制。