Done: https://github.com/igraph/igraph/issues/865
Note that I've tried again on Linux (the first try was on Windows), and for some reason it seems to work (with the same igraph version). Cheers, Vincent > Ah, my bad, I did not notice that you meant the edge betweenness and > not the node betweenness. It looks like the edge betweenness related > code does not include a similar bigint workaround. This should be > fixed in the next version then - can you add a bug report to > https://github.com/igraph/igraph/issues ? > > Thanks, > T. > >> On Sun, Sep 13, 2015 at 9:24 AM, Vincent Labatut <address@hidden> wrote: >>* Hello Tamas,* >> >>* and thanks for your answer.* >>* I was thinking of something like that, since the networks are lattices and* >>* this case is mentionned in the documentation.* >>* I also had noticed the "nobigint" parameter for the "betweenness" >>functions,* >>* however it does not exist for the "edge.betweenness" functions.* >>* Best,* >>* Vincent* >> >>*> Hello,* >>*>* >>*> The negative values are most likely due to integer overflows (i.e. the* >>*> betweenness score would be too large and the underlying variable in* >>*> which igraph computes the betweenness score overflows). You can get* >>*> around this by passing nobigint=FALSE to the edge betweenness call -* >>*> it will make igraph use "big integers", which can hold arbitrarily* >>*> large numbers at the expense of being somewhat slower.* >>*>* >>*> As for the NaNs, it could be a bug, but let's see first whether the* >>*> issue persists with nobigint=FALSE. If so, let us know and try to post* >>*> a small example on which we could reproduce the issue with NaNs.* >>*>* >>*> T.* >>*>* >>*>* >>*>* >>*> On Sat, Sep 12, 2015 at 3:08 PM, Vincent Labatut* >>*> <address@hidden> wrote:* >>*>> Hello,* >>*>>* >>*>> I am processing the edge-betweenness of various networks using R igraph* >>*>> version 7.1. Those are spatial networks (each node has a (x,y) position)* >>*>> and* >>*>> I am using the "weight" option of the "edge.betweenness" function to take* >>*>> the spatial distances into account. This spatial distance is stored in an* >>*>> edge attribute called "dist".* >>*>>* >>*>> Here is the command I use:* >>*>> edge.betweenness(graph=g, weights=E(g)$dist)* >>*>>* >>*>> However, for some of my networks, I get negative values, or even NaN.* >>*>> Here* >>*>> are two examples, under the graphml format:* >>*>> http://dx.doi.org/10.6084/m9.figshare.1540708 >><http://dx.doi.org/10.6084/m9.figshare.1540708>* >>*>> - scale=32.graphml* >>*>> - scale=41.graphml* >>*>>* >>*>> For the first one, the first values returned by "edge.betweenness" are:* >>*>> [1] 1904887544.08 1904887544.08 1896303182.39 1951787568.72* >>*>> 1203043060.76* >>*>> [6] 1270869072.68 622780616.09 667964773.27 279064394.68* >>*>> 309184936.21* >>*>> [11] 135403467.81 155266075.94 51600202.02 60120695.31* >>*>> 21113003.39* >>*>> [16] 24783603.89 6275147.30 6937885.52 1347425.01* >>*>> 1002544.99* >>*>> [21] 150574.42 -327097.77 -711849.38 -1430744.36* >>*>> -246214.20* >>*>> [26] -602827.15 -230344.97 -484630.12 -297768.08* >>*>> -492364.06* >>*>>* >>*>> For the second one, all the returned values are NaN.* >>*>>* >>*>> Note that all these weights are positive by definition. They even are* >>*>> non-zero since no two nodes hold the same position, by construction. I* >>*>> also* >>*>> checked this programmatically. Moreover, there are no multiple links,* >>*>> also* >>*>> by construction (and I checked with "has.multiple").* >>*>>* >>*>> I was wondering if the negative or NaN values I get are due to me* >>*>> misusing* >>*>> the function, or if this is a bug in igraph.* >>*>>* >>*>> Thanks,* >>*>> Vincent Labatut* >>*>>* >>*>> _______________________________________________* >>*>> igraph-help mailing list* >>*>> address@hidden* >>*>> https://lists.nongnu.org/mailman/listinfo/igraph-help >><https://lists.nongnu.org/mailman/listinfo/igraph-help>* >>*>>*
_______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
