Use this if you are using igraph from R
The scan statistic is a summary of the locality statistics that is
computed from the local neighborhood of each vertex. The
local_scan
function computes the local statistics for each vertex
for a given neighborhood size and the statistic function.
local_scan(graph.us, graph.them = NULL, k = 1, FUN = NULL, weighted = FALSE, mode = c("out", "in", "all"), neighborhoods = NULL, ...)
graph.us, graph |
An igraph object, the graph for which the scan statistics will be computed |
graph.them |
An igraph object or |
k |
An integer scalar, the size of the local neighborhood for each vertex. Should be non-negative. |
FUN |
Character, a function name, or a function object itself, for
computing the local statistic in each neighborhood. If |
weighted |
Logical scalar, TRUE if the edge weights should be used
for computation of the scan statistic. If TRUE, the graph should be
weighted. Note that this argument is ignored if |
mode |
Character scalar, the kind of neighborhoods to use for the
calculation. One of ‘ |
neighborhoods |
A list of neighborhoods, one for each vertex, or
In theory this could be useful if the same |
... |
Arguments passed to |
See the given reference below for the details on the local scan statistics.
local_scan
calculates exact local scan statistics.
If graph.them
is NULL
, then local_scan
computes the
‘us’ variant of the scan statistics. Otherwise,
graph.them
should be an igraph object and the ‘them’
variant is computed using graph.us
to extract the neighborhood
information, and applying FUN
on these neighborhoods in
graph.them
.
For local_scan
typically a numeric vector containing the
computed local statistics for each vertex. In general a list or vector
of objects, as returned by FUN
.
Priebe, C. E., Conroy, J. M., Marchette, D. J., Park, Y. (2005). Scan Statistics on Enron Graphs. Computational and Mathematical Organization Theory.
Other scan statistics: scan_stat
pair <- sample_correlated_gnp_pair(n = 10^3, corr = 0.8, p = 0.1) local_0_us <- local_scan(graph.us = pair$graph1, k = 0) local_1_us <- local_scan(graph.us = pair$graph1, k = 1) local_0_them <- local_scan(graph.us = pair$graph1, graph.them = pair$graph2, k = 0) local_1_them <- local_scan(graph.us = pair$graph1, graph.them = pair$graph2, k = 1) Neigh_1 <- neighborhood(pair$graph1, order = 1) local_1_them_nhood <- local_scan(graph.us = pair$graph1, graph.them = pair$graph2, neighborhoods = Neigh_1)