I cannot recall what the actual reason was, but one possible explanation is that even for moderately sized graphs, if they are sparse, you have a lot of those "motifs", more than what you can count in an 'int'.
Btw. triad_census gives you the count for those "motifs" as well, and it already overflows for a ring with 10000 vertices and edges: triad_census(make_ring(10, directed = TRUE)) #> [1] 50 60 0 0 0 10 0 0 0 0 0 0 0 0 0 0 triad_census(make_ring(10000, directed = TRUE)) #> [1] -271196661 99960000 0 0 0 10000 #> [7] 0 0 0 0 0 0 #> [13] 0 0 0 0 It does not even warn you, which is pretty bad, actually..... Gabor On Thu, Jul 16, 2015 at 3:21 AM, Szabolcs Horvát <[email protected]> wrote: > Dear All, > > igraph's motif counting functions (motifs()) will not count > unconnected subgraphs and always return NA for the 1st, 2nd and 4th > element of the result (for 3-motifs). > > The reasoning is that (quoting from the docs): > >> Note that for unconnected subgraphs, which are not considered to be motifs, >> the result will be NA. > > Is there any _technical_ reason for this behaviour? I understand that > according to some definitions, unconnected subgraphs are not > considered motifs, but in many applications it is still useful to > count _all_ size-k subgraphs. > > It would be useful if motifs() returned all counts. It is much easier > to simply ignore those I don't want (when I don't want them) than > having to separately count the missing ones. > > Szabolcs > > _______________________________________________ > igraph-help mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/igraph-help _______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
