isolated: Find and remove isolated vertices

View source: R/adjmat.r

isolatedR Documentation

Find and remove isolated vertices

Description

Find and remove unconnected vertices from the graph.

Usage

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.

Author(s)

George G. Vega Yon

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

# Finding isolated nodes
iso <- isolated(adjmat)
iso

# Removing isolated nodes
drop_isolated(adjmat)


# 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

isolated(graph)
drop_isolated(graph)

netdiffuseR documentation built on Aug. 30, 2023, 5:07 p.m.