R & Gephi : 네트워크의 가장자리가 RGEXF 패키지를 사용하여 제대로 가져 오지 않습니다.

StackOverflow https://stackoverflow.com//questions/22026659

  •  21-12-2019
  •  | 
  •  

문제

r 패키지 "rgexf"에 문제가 있습니다. 특히, 나는 Gephi로 가져 오는 네트워크의 에지 에 문제가있다. r에서는 정점의 데이터베이스를 생성 할 수 있습니다

>vertices
   Id Label
1   1     1
2   2     2
3   3     3
4   4     4
5   5     5
6   6     6
7   7     7
8   8     8
9   9     9
10 10    10
.

및 가장자리 데이터베이스 (정확한 단일 가장자리)

>edges 
      Source Target
    1      5      9
.

를 사용하여 .gexf 파일을 만듭니다.
  >write.gexf(output = path_gexf, nodes = vertices, edges = edges,  defaultedgetype = "undirected")
.

여기서 path_gexf는 출력 파일의 경로 일뿐입니다 (example.gexf 호출).
Gephi (버전 0.8.2 베타)를 사용하여 example.gexf를 엽니 다. 이미지 1 : 여기에 이미지 설명

Gephi에서 가져 오기 보고서를 볼 수 있습니다 : 정점 수와 모서리의 수가 올바른 것입니다. 그래프 유형을 수동으로 변경하여 해제되지 않고 모든 데이터를 데이터 실험실 창으로 가져옵니다.

  1. 질문 1 . 이유는 Write.gexf 함수에서 이미 그것을 이미 수행했을 때 Import Report 윈도우에서 "미리 보호되지 않음"을 지정 해야하는 이유는 무엇입니까?
  2. image2

    여기에 이미지 설명

    가져 오기 후 그래프 유형이 자동으로 "Directed"및 에지가 실제로 가져 오지 않음을 알 수 있습니다.

    이미지 3

    여기에 이미지 설명

    우리는 정점 목록을 가지고 있습니다 : 모두 괜찮습니다. 레이블과 ID가 올바르게 가져옵니다. 이미지 4

    여기에 이미지 설명

    가장자리에 대한 데이터 실험실 창을 볼 수 있습니다. 이미 이미지에 표시된 것처럼 가장자리가 없습니다. 2. 정말로 가장자리를 가져 오지 않는 이유를 이해하지 못합니다.

    1. Question 2. example.gexf 파일의 가져 오기를 수정하는 방법은 무엇입니까? r 코드 수준에서는 모두 부드럽고 정점 / 모서리가 내 코드로 올바르게 생성됩니다. 문제는 기피와 함께 발생합니다.
    2. 비고 : 나는 가장자리 가져 오기에 관한 문제가 많은 .gexf 파일을 가지고 있습니다. 대부분의 경우 "소스"및 "Target"의 보정되지 않은 가장자리 만 수입됩니다. 이상하게 충분히 평행 한 가장자리는 항상 그들의 복수에 따라 적절하게 계산됩니다.

      긴 게시물에 대해 사과드립니다.

      편집 : 더미 R 코드가있는 일부 테스트

      @james tobin의 코드 (감사합니다!)를 사용하여 일부 테스트를했습니다. 내 PC에서도 잘 작동합니다. 나는 2 개의 가장자리가있는 그래프로 테스트를했습니다. 테스트는 모두 괜찮 았습니다. 그런 다음

      를 사용하여 3,4 가장자리 케이스로 이동했습니다.
      require(rgexf)
      vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
      colnames(vertices) <- c('Id','Label')
      edges <- as.data.frame(cbind(c(5,1,2),c(1,1,3)))
      colnames(edges) <- c('Source','Target')
      write.gexf(nodes=vertices,edges=edges,
                 defaultedgetype = "undirected")
      
      .

      require(rgexf)
      vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
      colnames(vertices) <- c('Id','Label')
      edges <- as.data.frame(cbind(c(5,1,4,2),c(2,3,1,2)))
      colnames(edges) <- c('Source','Target')
      write.gexf(nodes=vertices,edges=edges,
                 defaultedgetype = "undirected")
      
      .

      두 경우 모두 XLM 코드가 올바른 W.R.T입니다. 노드 및 가장자리 ID, 레이블, 소스 및 대상.

      문제는 어디에 있습니까? 3 개의 가장자리 케이스에서 Gephi의 가져 오기 보고서는 올바른 반면 데이터 실험실 가장자리 창이 가장자리가 표시되지 않습니다

      <edge id="1" source="1" target="1" weight="1.0"/>
      
      .

      4 가장자리의 경우 가장자리

       <edge id="0" source="5" target="2" weight="1.0"/>
      
      .

      가 누락되었습니다.

      나는 Gephi 0.8.2의 버그가 있고 내 코드가 아닌 버그가 있다고 믿기 시작합니다.

      모든 제안 / 댓글?

도움이 되었습니까?

해결책

질문 1 : GEXF 파일에서 그래프를 이미 지정했지만,이를 클릭하면이를 클릭하면 적어도 큰 거래가 아닙니다.안전성 관점에서 사용자가 잠재적으로 잘못 선택하는 것보다 수입하는 그래프의 종류를 두 번 확인하는 것이 더 쉽습니다.2 초, 거래가 크지 않아.

질문 2 : 예제를 복사

require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(5,9))
colnames(edges) <- c('Source','Target')
write.gexf(output='testgex.gexf',nodes=vertices,edges=edges,
          defaultedgetype = "undirected")
.

그러나 나는 가장자리에 어떤 문제도 가지고 있지 않습니다. 여기에 이미지 설명을 입력하십시오. 여기에 이미지 설명을 입력하십시오. 여기에 이미지 설명

아마도 실패한 정확한 코드를 포함 할 수 있습니까?아마도 가장자리가 Data.frame 형식이 아닙니다.오류를 복제 할 수 없었기 때문에 짐작하기 때문에

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top