2015-01-19 3 views
0

다음과 같은 문제가 있습니다.
A를 그래프 투티
라고 지시 나는 각 위치에 정점을 포함 tabellaerrori라는 벡터를
지금 내 문제는 다음과 같습니다
내가 투티 그래프와 errori에서 모두 정점의 목록을 cointaining 배열을 만들려면 벡터.
나는 다음과 같은 코드를 사용하지만 작동하지 않습니다R 그래프에서 정점 추출

risultato에게 < -as.character (교차 (tabellaerrori, V (투티을)))

그것은 항상 다시 무엇 tabellaerrori 의 내용을 나에게 준다 잘못된 ? 비 다운로드 구글 플러스 이미지 갤러리를 통해 고통을하지 않은 사람들을 위해

+0

재현 예를 제공하십시오 – akrun

+0

https://plus.google.com/u/0/115505398072903675944/posts/4jxcckeLQpT?pid=6106016935769662722&oid=115505398072903675944 https://plus.google.com/u/0/115505398072903675944/포스트/4jxcckeLQpT? PID = 6106016949694762914 및 OID = 115,505398072903,675,944 https://plus.google.com/u/0/115505398072903675944/posts/4jxcckeLQpT?pid=6106016965557307874&oid=115505398072903675944 –

+0

먼저 PIC 정점리스트 V이다 (튜티)를 –

답변

1

는 오류를 생성 실제 라인은 다음과 같습니다

help에서
graph.neighborhood(tutti, vcount(tutti), risultato, "out") 
## Error in as.igraph.vs(graph, nodes) : Invalid vertex names 

-graph.neighborhood(graph, order, nodes=V(graph), mode=c("all", "out", "in"))은 실제가 될 nodes을 기대하고있다 igraph 버텍스 시퀀스. 교차 노드가 해당 형식인지 확인해야합니다.

여기 (제공 나는 당신의 화면 캡처에서 올바른 가정을했습니다) 재현 예를 의미 jbaums 내용은 다음과 같습니다

당신이 정말 전에 무엇을하고 있는지
library(igraph) 

set.seed(1492) # makes this more reproducible 

# simulate your overall graph 

tutti <- graph.full(604, directed=TRUE) 
V(tutti)$name <- as.character(sample(5000, 604)) 

# simulate your nodes 

tabellaerrori <- as.character(c(sample(V(tutti), 79), sample(6000:6500, 70))) 
names(tabellaerrori) <- as.numeric(tabellaerrori) 

# give a brief view of the overall data objects 

head(V(tutti)) 
## Vertex sequence: 
## [1] "1389" "1081" "922" "553" "261" "42" 

length(V(tutti)) 
## [1] 604 

head(tabellaerrori) 
## 293 415 132 299 408 526 
## "293" "415" "132" "299" "408" "526" 

length(tabellaerrori) 
## [1] 149 

# for your answer, find the intersection of the vertext *names* 

risultato <- as.character(intersect(tabellaerrori, V(tutti)$name)) 
risultato 
## Vertex sequence: 
## [1] "293" "132" "155" "261" "68" "381" "217" "394" "581" 

# who are the ppl in your neighborhood 

graph.neighborhood(tutti, vcount(tutti), risultato, "out") 
## [[1]] 
## IGRAPH DN-- 604 364212 -- Full graph 
## + attr: name (g/c), loops (g/l), name (v/c) 
## 
## [[2]] 
## IGRAPH DN-- 604 364212 -- Full graph 
## + attr: name (g/c), loops (g/l), name (v/c) 
## 
## ... (a few more) 

(즉 어떤 intersect 세 이하하고 있었다 커버)이다 : 따라서

risultato <- as.character(intersect(tabellaerrori, as.character(V(tutti)))) 

, 당신의 Invalid vertex names 오류입니다.

+0

hrbrmstr 내 문제를 해결했다. 내 오류는 V (tutti) $ 이름 대신 V (tutti)를 사용하는 것이었다. –

+0

죄송합니다.이 옵션에 대해 몰랐습니다. 받아 들였습니다. 제안 해 주셔서 감사합니다. –

관련 문제