आर

2013-01-15 5 views
7

में graph.adjacency() का उपयोग कर रहा इस प्रकार आर में एक नमूना कोड है:आर

library(igraph) 
rm(list=ls()) 
dat=read.csv(file.choose(),header=TRUE,row.names=1,check.names=T) # read .csv file 
m=as.matrix(dat) 
net=graph.adjacency(adjmatrix=m,mode="undirected",weighted=TRUE,diag=FALSE) 

जहाँ मैं इनपुट के रूप में csv फ़ाइल के लिए इस्तेमाल किया जो डेटा निम्नलिखित होते हैं:

23732 23778 23824 23871 58009 58098 58256 
23732 0 8 0 1 0 10 0 
23778 8 0 1 15 0 1 0 
23824 0 1 0 0 0 0 0 
23871 1 15 0 0 1 5 0 
58009 0 0 0 1 0 7 0 
58098 10 1 0 5 7 0 1 
58256 0 0 0 0 0 1 0 

इस मैं के बाद निम्न आदेश का इस्तेमाल किया वजन मूल्यों की जाँच करने के लिए:

E(net)$weight 

अपेक्षित उत्पादन कुछ हद तक इस तरह है:

> E(net)$weight 
[1] 8 1 10 1 15 1 1 5 7 1 

लेकिन मैं अजीब मूल्यों (और हर बार अलग) हो रही है:

> E(net)$weight 
[1] 2.121996e-314 2.121996e-313 1.697597e-313 1.291034e-57 1.273197e-312 5.092790e-313 2.121996e-314 2.121996e-314 6.320627e-316 2.121996e-314 1.273197e-312 2.121996e-313 
[13] 8.026755e-316 9.734900e-72 1.273197e-312 8.027076e-316 6.320491e-316 8.190221e-316 5.092790e-313 1.968065e-62 6.358638e-316 

मैं कहाँ खोजने में असमर्थ हूँ और क्या मैं गलत कर रहा हूँ? कृपया मुझे सही अपेक्षित परिणाम प्राप्त करने में मदद करें और कृपया मुझे बताएं कि यह अजीब आउटपुट क्यों है और जब भी मैं इसे चलाता हूं तो हर बार अलग होता है .??

धन्यवाद, नितिन

उत्तर

2

समस्या मैट्रिक्स तत्वों का डेटा प्रकार की वजह से हो रहा है। graph.adjacencynumeric प्रकार के तत्वों की अपेक्षा करता है। यकीन नहीं है कि यह एक बग है।

आप करने के बाद,

m <- as.matrix(dat) 

द्वारा numeric करने के लिए अपने मोड सेट:

mode(m) <- "numeric" 

और फिर कार्य करें:

net <- graph.adjacency(m, mode = "undirected", weighted = TRUE, diag = FALSE) 
> E(net)$weight 
[1] 8 1 10 1 15 1 1 5 7 1 
+0

धन्यवाद एक बहुत अरुण। यह मेरे लिए काम किया। –

+1

यह एक बग है: https://bugs.launchpad.net/igraph/+bug/1019624 –

6

बस एक छोटा सा काम कर उदाहरण नीचे, की तुलना में बहुत साफ सीएसवी इनपुट।

library('igraph'); 
adjm1<-matrix(sample(0:1,100,replace=TRUE,prob=c(0.9,01)),nc=10); 
g1<-graph.adjacency(adjm1); 
plot(g1) 

enter image description here

पी.एस. ?graph.adjacency में बहुत अच्छे उदाहरण हैं (library('igraph') चलाने के लिए याद रखें)।

संबंधित धागे

  1. Creating co-occurrence matrix
  2. Co-occurrence matrix using SAC?