Remove Elements from a Network Object
deletion.methods.Rddelete.edges removes one or more edges (specified by
their internal ID numbers) from a network; delete.vertices
performs the same task for vertices (removing all associated edges in
the process).
Usage
delete.edges(x, eid, ...)
# S3 method for class 'network'
delete.edges(x, eid, ...)
delete.vertices(x, vid, ...)
# S3 method for class 'network'
delete.vertices(x, vid, ...)Details
Note that an edge's ID number corresponds to its order within
x$mel. To determine edge IDs, see get.edgeIDs.
Likewise, vertex ID numbers reflect the order with which vertices are
listed internally (e.g., the order of x$oel and x$iel, or
that used by as.matrix.network.adjacency). When vertices are
removed from a network, all edges having those vertices as endpoints are
removed as well. When edges are removed, the remaining edge ids are NOT
permuted and NULL elements will be left on the list of edges, which
may complicate some functions that require eids (such as
set.edge.attribute). The function valid.eids
provides a means to determine the set of valid (non-NULL) edge ids.
Edges can also be added/removed via the extraction/replacement operators. See the associated man page for details.
References
Butts, C. T. (2008). “network: a Package for Managing Relational Data in R.” Journal of Statistical Software, 24(2). doi:10.18637/jss.v024.i02
Author
Carter T. Butts buttsc@uci.edu
Examples
#Create a network with three edges
m<-matrix(0,3,3)
m[1,2]<-1; m[2,3]<-1; m[3,1]<-1
g<-network(m)
as.matrix.network(g)
#> 1 2 3
#> 1 0 1 0
#> 2 0 0 1
#> 3 1 0 0
delete.edges(g,2) #Remove an edge
as.matrix.network(g)
#> 1 2 3
#> 1 0 0 0
#> 2 0 0 1
#> 3 1 0 0
delete.vertices(g,2) #Remove a vertex
as.matrix.network(g)
#> 1 3
#> 1 0 0
#> 3 1 0
#Can also remove edges using extraction/replacement operators
g<-network(m)
g[1,2]<-0 #Remove an edge
g[,]
#> 1 2 3
#> 1 0 0 0
#> 2 0 0 1
#> 3 1 0 0
g[,]<-0 #Remove all edges
g[,]
#> 1 2 3
#> 1 0 0 0
#> 2 0 0 0
#> 3 0 0 0