Find and remove unconnected vertices from the graph.

isolated(
  graph,
  undirected = getOption("diffnet.undirected", FALSE),
  self = getOption("diffnet.self", FALSE)
)

drop_isolated(
  graph,
  undirected = getOption("diffnet.undirected", FALSE),
  self = getOption("diffnet.self", FALSE)
)

Arguments

graph

Any class of accepted graph format (see netdiffuseR-graphs).

undirected

Logical scalar. When TRUE only the lower triangle of the adjacency matrix will considered (faster).

self

Logical scalar. When TRUE autolinks (loops, self edges) are allowed (see details).

Value

When graph is an adjacency matrix:

isolated

an matrix of size \(n\times 1\) with 1's where a node is isolated

drop_isolated

a modified graph excluding isolated vertices.

Otherwise, when graph is a list
isolated

an matrix of size \(n\times T\) with 1's where a node is isolated

drop_isolated

a modified graph excluding isolated vertices.

See also

Other data management functions: diffnet-class, edgelist_to_adjmat(), egonet_attrs(), survey_to_diffnet()

Examples

# Generating random graph set.seed(123) adjmat <- rgraph_er() # Making nodes 1 and 4 isolated adjmat[c(1,4),] <- 0 adjmat[,c(1,4)] <- 0 adjmat
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#> [[ suppressing 10 column names ‘1’, ‘2’, ‘3’ ... ]]
#> #> 1 . . . . . . . . . . #> 2 . . . . . . . . . . #> 3 . . . . . . 1 . . . #> 4 . . . . . . . . . . #> 5 . . . . . . . . . . #> 6 . . . . . . . . . . #> 7 . . . . . . . . . . #> 8 . . . . . . . . . . #> 9 . . . . . . . . . . #> 10 . . . . . . . . . .
# Finding isolated nodes iso <- isolated(adjmat) iso
#> [1] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# Removing isolated nodes drop_isolated(adjmat)
#> 1 x 1 sparse Matrix of class "dgCMatrix" #> 3 #> 3 .
# Now with a dynamic graph graph <- rgraph_er(n=10, t=3) # Making 1 and 5 isolated graph <- lapply(graph, "[<-", i=c(1,5), j=1:10, value=0) graph <- lapply(graph, "[<-", i=1:10, j=c(1,5), value=0) graph
#> $`1` #> 10 x 10 sparse Matrix of class "dgCMatrix"
#> [[ suppressing 10 column names ‘1’, ‘2’, ‘3’ ... ]]
#> #> 1 . . . . . . . . . . #> 2 . . . . . . . . . . #> 3 . . . . . . . . . . #> 4 . . . . . . . . . . #> 5 . . . . . . . . . . #> 6 . . . . . . . . . . #> 7 . . . . . . . . . . #> 8 . . . . . . . . . . #> 9 . . . . . . . . . . #> 10 . . . . . . . . . . #> #> $`2` #> 10 x 10 sparse Matrix of class "dgCMatrix"
#> [[ suppressing 10 column names ‘1’, ‘2’, ‘3’ ... ]]
#> #> 1 . . . . . . . . . . #> 2 . . . . . . . . . . #> 3 . . . . . . . . . . #> 4 . . . . . . . . . . #> 5 . . . . . . . . . . #> 6 . . . . . . . . . . #> 7 . . . . . . . . . . #> 8 . . . . . . . . . . #> 9 . . . . . . . . . . #> 10 . . . . . . . . . . #> #> $`3` #> 10 x 10 sparse Matrix of class "dgCMatrix"
#> [[ suppressing 10 column names ‘1’, ‘2’, ‘3’ ... ]]
#> #> 1 . . . . . . . . . . #> 2 . . . . . . . . . . #> 3 . . . . . . . . . . #> 4 . . . . . . . . . . #> 5 . . . . . . . . . . #> 6 . . . . . . . . . . #> 7 . . 1 . . . . . . . #> 8 . . . . . . . . . . #> 9 . . . . . . . . . . #> 10 . . . . . . . . . . #>
isolated(graph)
#> [1] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
drop_isolated(graph)
#> $`1` #> 1 x 1 sparse Matrix of class "dgCMatrix" #> 7 #> 7 . #> #> $`2` #> 1 x 1 sparse Matrix of class "dgCMatrix" #> 7 #> 7 . #> #> $`3` #> 1 x 1 sparse Matrix of class "dgCMatrix" #> 7 #> 7 . #>