Learn R Programming

networktools (version 1.1.0)

bridge: Bridge Centrality

Description

Calculates bridge centrality metrics (bridge strength, bridge betweenness, bridge closeness, and bridge expected influence) given a network and a prespecified set of communities.

Usage

bridge(network, communities = NULL, useCommunities = "all",
  directed = NULL, nodes = NULL)

Arguments

network

a network of class "igraph", "qgraph", or an adjacency matrix representing a network

communities

an object of class "communities" (igraph) OR a characcter vector of community assignments for each node (e.g., c("Comm1", "Comm1", "Comm2", "Comm2)). The ordering of this vector should correspond to the vector from argument "nodes"

useCommunities

character vector specifying which communities should be included. Default set to "all"

directed

logical. Directedness is automatically detected if set to "NULL" (the default). Symmetric adjacency matrices will be undirected, unsymmetric matrices will be directed

nodes

a vector containing the names of the nodes. If set to "NULL", this vector will be automatically detected in the order extracted

Value

bridge returns a list of class "bridge" which contains:

See global.impact, structure.impact, and edge.impact for details on each list

Details

To plot the results, first save as an object, and then use plot() (see ?plot.bridge)

Centrality metrics (strength, betweenness, etc.) illuminate how nodes are interconnected among the entire network. However, sometimes we are interested in the connectivity between specific communities in a larger network. Nodes that are important in communication between communities can be conceptualized as bridge nodes.

Bridge centrality statistics aim to identify bridge nodes. Bridge centralities can be calculated across all communities, or between a specific subset of coumminities (as identified by the useCommunities argument)

The bridge() function currently returns 5 centrality metrics: 1) bridge strength, 2) bridge betweenness, 3) bridge closeness, 4) bridge expected influence (1-step), and 5) bridge expected influence (2-step)

Bridge strength is defined as the sum of the absolute value of all edges that exist between a node A and all nodes that are not in the same community as node A. In a directed network, bridge strength can be separated into bridge in-degree and bridge out-degree.

Bridge betweenness is defined as the number of times a node B lies on the shortest path between nodes A and C, where nodes A and C come from different communities.

Bridge closeness is defined as the average length of the path from a node A to all nodes that are not in the same community as node A

Bridge expected influence (1-step) is defined as the sum of the value (+ or -) of all edges that exist between a node A and all nodes that are not in the same community as node A. In a directed network, expected influence only considers edges extending from the given node (e.g., out-degree)

Bridge expected influence (2-step) is similar to 1-step, but also considers the indirect effect that a node A may have through other nodes (e.g, an indirect effect on node C as in A -> B -> C). Indirect effects are weighted by the first edge weight (e.g., A -> B), and then added to the 1-step expected influence

If negative edges exist, bridge expected influence should be used. Any negative edges are currently ignored in the algorithms to compute bridge betweenness and bridge closeness.

Examples

Run this code
# NOT RUN {
graph1 <- qgraph::EBICglasso(cor(depression), n=dim(depression)[1])
graph2 <- IsingFit::IsingFit(social)$weiadj

b <- bridge(graph1, communities=c('1','1','2','2','2','2','1','2','1'))
b
b2 <- bridge(graph2, communities=c(rep('1',8), rep('2',8)))
b2

plot(b)
plot(b2, order="value", zscore=TRUE, include=c("Bridge Strength", "Bridge Betweenness"))

# }

Run the code above in your browser using DataLab