<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [adegenet-forum] chooseCN question</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Stephen Douglas Petersen wrote:<BR>
<BR>
Hi again,<BR>
&gt; Thanks for the insight on the last question - I have another.<BR>
Great !<BR>
&gt; I would like to know how to save a modified connection network. Is there a way to export a modified graph (or an unmodified one for that matter) as an adjacency matrix or edge list? I think the network is stored as a nb object - which is an edgelist (?) but I can't seem to save it in a way that will let me reuse it in a later session.<BR>
nb objects can be converted toward different other formats. I think for most uses in spatial statistics, storing info in nb objects make sense since it is the basic class implemented in spdep.<BR>
<BR>
Several functions are in &quot;nb2...&quot; where '...' is the target class.<BR>
Type 'nb2' +tab +tab to have a list:<BR>
&gt; nb2<BR>
nb2blocknb&nbsp; nb2lines&nbsp;&nbsp;&nbsp; nb2listw&nbsp;&nbsp;&nbsp; nb2mat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nb2neig&nbsp;&nbsp;&nbsp;&nbsp; nb2WB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
<BR>
The result depends on which package is loaded, of course (here, spdep and ade4). For instance, nb2listw converts to a list of spatial weights; nb2mat converts to an adjacency matrix,...<BR>
<BR>
Oddly enough, I cannot find a convertion toward graphNEL class from the graph package. This is the class to use for more serious graph operations. But both classes are quite close anyway, since they both rely on lists of neighbours. To do such conversion, just use:<BR>
##<BR>
&gt; library(adegenet)<BR>
&gt; library(graph)<BR>
&gt; example(chooseCN) #[output hidden]<BR>
<BR>
&gt; cn1<BR>
Neighbour list object:<BR>
Number of regions: 17<BR>
Number of nonzero links: 82<BR>
Percentage nonzero weights: 28.3737<BR>
Average number of links: 4.823529<BR>
&gt; str(cn1)<BR>
List of 17<BR>
&nbsp;$ : int [1:5] 5 9 12 16 17<BR>
&nbsp;$ : int [1:4] 5 8 9 10<BR>
&nbsp;$ : int [1:5] 6 11 14 16 17<BR>
&nbsp;$ : int [1:5] 10 12 13 15 16<BR>
&nbsp;$ : int [1:6] 1 2 6 7 9 17<BR>
&nbsp;$ : int [1:5] 3 5 7 14 17<BR>
&nbsp;$ : int [1:4] 5 6 11 14<BR>
&nbsp;$ : int [1:4] 2 9 10 12<BR>
&nbsp;$ : int [1:5] 1 2 5 8 12<BR>
&nbsp;$ : int [1:4] 2 4 8 12<BR>
&nbsp;$ : int [1:6] 3 7 13 14 15 16<BR>
&nbsp;$ : int [1:6] 1 4 8 9 10 16<BR>
&nbsp;$ : int [1:4] 4 11 15 16<BR>
&nbsp;$ : int [1:4] 3 6 7 11<BR>
&nbsp;$ : int [1:3] 4 11 13<BR>
&nbsp;$ : int [1:7] 1 3 4 11 12 13 17<BR>
&nbsp;$ : int [1:5] 1 3 5 6 16<BR>
&nbsp;- attr(*, &quot;region.id&quot;)= chr [1:17] &quot;1&quot; &quot;2&quot; &quot;3&quot; &quot;4&quot; ...<BR>
&nbsp;- attr(*, &quot;class&quot;)= chr &quot;nb&quot;<BR>
&nbsp;- attr(*, &quot;tri&quot;)= logi TRUE<BR>
&nbsp;- attr(*, &quot;call&quot;)= language tri2nb(coords = xy)<BR>
&nbsp;- attr(*, &quot;sym&quot;)= logi TRUE<BR>
&nbsp;- attr(*, &quot;xy&quot;)= num [1:17, 1:2] 263 184 391 459 183 ...<BR>
&nbsp; ..- attr(*, &quot;dimnames&quot;)=List of 2<BR>
&nbsp; .. ..$ : chr [1:17] &quot;P01&quot; &quot;P02&quot; &quot;P03&quot; &quot;P04&quot; ...<BR>
&nbsp; .. ..$ : chr [1:2] &quot;x&quot; &quot;y&quot;<BR>
<BR>
<BR>
&gt; myList = cn1[1:length(cn1)]<BR>
&gt; names(myList) = attr(cn1,&quot;region.id&quot;)<BR>
<BR>
<BR>
&gt; myGraph=new(&quot;graphNEL&quot;, nodes=names(myList), edgeL=myList) # conversion to graphNEL<BR>
&gt; myGraph<BR>
A graphNEL graph with undirected edges<BR>
Number of Nodes = 17<BR>
Number of Edges = 41<BR>
<BR>
And here you go with your graphNEL object. The class is (unusually well) documented in graph and RBGL.<BR>
<BR>
Best,<BR>
<BR>
Thibaut.<BR>
<BR>
&gt;&nbsp;<BR>
&gt; Thanks<BR>
&gt; Stephen<BR>
&gt;<BR>
&gt; Stephen D. Petersen, M.Sc. Ph.D.<BR>
&gt; Visiting Fellow, Fisheries &amp; Oceans Canada<BR>
&gt; Winnipeg, MB<BR>
&gt; E-mail:<BR>
&gt; stephen.petersen@dfo-mpo.gc.ca<BR>
&gt; stephenpetersen@trentu.ca<BR>
&gt; spetersen@nrdpfc.ca<BR>
&gt; &lt;<A HREF="http://sites.google.com/site/stephendpetersen/">http://sites.google.com/site/stephendpetersen/</A>&gt;<BR>
&gt; &lt;<A HREF="http://people.trentu.ca/stephenpetersen/">http://people.trentu.ca/stephenpetersen/</A>&gt;<BR>
&gt; &lt;<A HREF="http://ace.acadiau.ca/science/biol/Stephen/stephen_dp_home.htm">http://ace.acadiau.ca/science/biol/Stephen/stephen_dp_home.htm</A>&gt;<BR>
&gt; _______________________________________________<BR>
&gt; adegenet-forum mailing list<BR>
&gt; adegenet-forum@lists.r-forge.r-project.org<BR>
&gt; <A HREF="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/adegenet-forum">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/adegenet-forum</A><BR>
&gt;<BR>
&gt;<BR>
<BR>
<BR>
--<BR>
######################################<BR>
Dr Thibaut JOMBART<BR>
MRC Centre for Outbreak Analysis and Modelling<BR>
Department of Infectious Disease Epidemiology<BR>
Imperial College - Faculty of Medicine<BR>
St Mary&#146;s Campus<BR>
Norfolk Place<BR>
London W2 1PG<BR>
United Kingdom<BR>
Tel. : 0044 (0)20 7594 3658<BR>
t.jombart@imperial.ac.uk<BR>
<A HREF="http://biomserv.univ-lyon1.fr/%7Ejombart/">http://biomserv.univ-lyon1.fr/%7Ejombart/</A><BR>
<A HREF="http://adegenet.r-forge.r-project.org/">http://adegenet.r-forge.r-project.org/</A><BR>
</FONT>
</P>

</BODY>
</HTML>