2017-10-09 2 views
1

is_matching 함수를 igraph R 패키지에 적용하려고합니다. 명확하게 일치하는 경우에도 내 대답이 항상 거짓 인 이유를 알 수 없습니다. 여기 내 코드는 다음과 같습니다.igraph is_matching always False

library(igraph) 

relations=data.frame(from=c(1,2),to=c(3,4)) 
g <- graph_from_data_frame(relations, directed=FALSE, vertices=1:4) 
mm=c(1,3) 

is_matching(g,mm) 
[1] FALSE 

정말 고맙습니다. 이 작품 그들은 거의 동일하기 때문에 코드를하지 않습니다,하지만 왜

+0

더 나은 재생산 가능한 예제를 필요한 라이브러리와 함께 제공하십시오. –

+0

이 장난감 예제에 사용 된 두 함수는 모두 R의 라이브러리 (igraph)에 있습니다. – Rocky

답변

0

나는 아무 생각이 :

relations <- data.frame(from=c(1, 3),to=c(2,4)) 
g1 <- graph_from_data_frame(relations, directed=FALSE, vertices=c(1, 2, 3, 4)) 
mm <- c(2,1,4,3) 
is_matching(g1, mm) 
[1] TRUE 

여기의 차이는 mm의 일치 가장자리에 정점 사건이 역으로 주어진 것입니다 주문, 예. (1-> 2, 3-> 4)는 (2,1,4,3)입니다. 그것은 FALSE로 나오는

relations <- data.frame(from=c(1, 2),to=c(3,4)) 
g1 <- graph_from_data_frame(relations, directed=FALSE, vertices=c(1, 2, 3, 4)) 
mm <- c(3,1,4,2) 
is_matching(g1, mm) 
[1] FALSE 

: 당신이 (1 -> 3, 2> 4)가 나는 가장자리 방향을 구성하는 경우, 때문에 이상하다. 나는 함수의 코드를 분해하려고 시도했는데 이해할 수 없었다. 대개 as.igraph.vs과 같이 igraph에 존재하지 않는 명령을 호출하기 때문이다. 만약 누군가가 이것에 관해 밝힐 수 있다면, 그것은 위대 할 것입니다.