Learn R Programming

network (version 1.19.0)

add.vertices: Add Vertices to an Existing Network

Description

add.vertices adds a specified number of vertices to an existing network; if desired, attributes for the new vertices may be specified as well.

Usage

add.vertices(x, nv, vattr = NULL, last.mode = TRUE, ...)

Value

Invisibly, a pointer to the updated network object; add.vertices modifies its argument in place.

Arguments

x

an object of class network

nv

the number of vertices to add

vattr

optionally, a list of attributes with one entry per new vertex

last.mode

logical; should the new vertices be added to the last (rather than the first) mode of a bipartite network?

...

possible additional arguments to add.vertices

Author

Carter T. Butts [email protected]

Details

New vertices are generally appended to the end of the network (i.e., their vertex IDs begin with network.size(x) an count upward). The one exception to this rule is when x is bipartite and last.mode==FALSE. In this case, new vertices are added to the end of the first mode, with existing second-mode vertices being permuted upward in ID. (x's bipartite attribute is adjusted accordingly.)

Note that the attribute format used here is based on the internal (vertex-wise) storage method, as opposed to the attribute-wise format used by network. Specifically, vattr should be a list with one entry per new vertex, the ith element of which should be a list with an element for every attribute of the ith vertex. (If the required na attribute is not given, it will be automatically created.)

References

Butts, C. T. (2008). “network: a Package for Managing Relational Data in R.” Journal of Statistical Software, 24(2). tools:::Rd_expr_doi("10.18637/jss.v024.i02")

See Also

network, get.vertex.attribute, set.vertex.attribute

Examples

Run this code

#Initialize a network object
g<-network.initialize(5)
g

#Add five more vertices
add.vertices(g,5)
g

#Create two more, with attributes
vat<-replicate(2,list(is.added=TRUE,num.added=2),simplify=FALSE)
add.vertices(g,2,vattr=vat)
g%v%"is.added"       #Values are only present for the new cases
g%v%"num.added"

#Add to a bipartite network
bip <-network.initialize(5,bipartite=3)
get.network.attribute(bip,'bipartite') # how many vertices in first mode?
add.vertices(bip,3,last.mode=FALSE)
get.network.attribute(bip,'bipartite')

Run the code above in your browser using DataLab