Learn R Programming

netdiffuseR (version 1.22.6)

isolated: 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) )

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.

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).

Author

George G. Vega Yon

See Also

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

Examples

Run this code
# 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)

Run the code above in your browser using DataLab