tdc {TNC} | R Documentation |
Temporal degree centrality
Description
tdc
returns the temporal degree centrality for each node in a dynamic
network (sequence of graph snapshots).
Usage
tdc(x, type = NULL, startsnapshot = 1, endsnapshot = length(x),
directed = FALSE, normalize = TRUE, centrality_evolution = FALSE)
Arguments
x |
A list of adjacency matrices or a list of adjacency lists. |
type |
Data format of |
startsnapshot |
Numeric. Entry of |
endsnapshot |
Numeric. Entry of |
directed |
Logical. Set |
normalize |
Logical. Set |
centrality_evolution |
Logical. Set |
Details
tdc
calculates the temporal degree centrality (see Kim and
Anderson, 2012), which is defined as the average degree centrality over all
snapshots.
Value
The (normalized) temporal degree centrality values of all nodes
(TDC
). If centrality_evolution
is TRUE
an additional
matrix is returned (CentEvo
), containing the temporal centrality
value at each snapshot between startsnapshot
and endsnapshot
.
Warning
Using adjacency matrices as input exponentially increases the required memory. Use adjacency lists to save memory.
References
Kim, Hyoungshick and Anderson, Ross, 2012. Temporal node centrality in complex networks. Physical Review E, 85 (2).
See Also
Examples
# Create a list of adjacency matrices, plot the corresponding graphs
# (using the igraph package) and calculating tdc
A1 <- matrix(c(0,1,0,0,0,0,
1,0,1,0,0,0,
0,1,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0), ncol=6)
A2 <- matrix(c(0,0,0,0,0,0,
0,0,1,0,0,0,
0,1,0,1,1,0,
0,0,1,0,0,0,
0,0,1,0,0,0,
0,0,0,0,0,0), ncol=6)
A3 <- matrix(c(0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0), ncol=6)
A4 <- matrix(c(0,1,0,0,0,0,
1,0,0,1,0,0,
0,0,0,0,0,0,
0,1,0,0,0,0,
0,0,0,0,0,0,
0,0,0,0,0,0), ncol=6)
library(igraph)
par(mfrow=c(2,2))
Layout <-
layout_in_circle(graph_from_adjacency_matrix(A1, mode = "undirected"))
plot(graph_from_adjacency_matrix(A1, "undirected"), layout=Layout)
plot(graph_from_adjacency_matrix(A2, "undirected"), layout=Layout)
plot(graph_from_adjacency_matrix(A3, "undirected"), layout=Layout)
plot(graph_from_adjacency_matrix(A4, "undirected"), layout=Layout)
As <- list(A1,A2,A3,A4)
tdc(As, "M", centrality_evolution=TRUE)
#' ### Create list of adjacency lists
Ls <- lapply(seq_along(As), function(i){
sapply(1:6, function(j){which(As[[i]][j,]==1)})
})
tdc(Ls, "L", centrality_evolution=TRUE)