2016-10-18 5 views
0

R 패키지의 igraph를 사용하여 그래프 용 크리크를 인쇄하고 싶습니다. 제가 ABC로 인쇄 할 데이터의 포맷 (RES1, RES2, Res3 형식의 데이터를 나타내는 ...)R igraph 라이브러리를 사용하여 크리크 인쇄하기

데이터 : RES1 RES2 무게 AB 10 AC 1 CB 10 SB 1 LA 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] C B의 모든 매우 좋은

. 우리가 파일로 인쇄 싶은 경우 :

write.table(t(Cliq), file="demo.dat",sep = "\t",quote=F,row.names = FALSE) 

그러나 파일의 결과입니다 V1 C (1, 2, 5)

난 그냥 노드 이름 AB 같은 데이터를 인쇄 할 C. 남자들이하는 길은 .. !! !!

답변

2

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() 기능을 사용하여 제한 할 수 있습니다.