network (version 1.13.0)

network.edgecount: Return the Number of Edges in a Network Object

Description

network.edgecount returns the number of edges within a network, removing those flagged as missing if desired.

Usage

network.edgecount(x, na.omit = TRUE)

Arguments

x
an object of class network
na.omit
logical; omit edges with na==TRUE from the count?

Value

The number of edges

Warning

network.edgecount uses the real state of the network object to count edges, not the state it hypothetically should have. Thus, if you add extra edges to a non-multiplex network, directed edges to an undirected network, etc., the actual number of edges in the object will be returned (and not the number you would expect if you relied only on the putative number of possible edges as reflected by the network.indicators). Don't create network objects with contradictory attributes unless you know what you are doing.

Details

The return value is the number of distinct edges within the network object, including multiplex edges as appropriate. (So if there are 3 edges from vertex i to vertex j, each contributes to the total edge count.)

The return value network.edgecount is in the present implementation related to the (required) mnext network attribute. mnext is an internal legacy attribute that currently indicates the index number of the next edge to be added to a network object. (Do not modify it unless you enjoy unfortunate surprises.) The number of edges returned by network.edgecount is equal to x%n%"mnext"-1, minus the number of NULL edges (and missing edges, if na.omit==TRUE). Note that g%n%"mnext"-1 cannot, by itself, be counted upon to be an accurate count of the number of edges! As mnext is not part of the API (and is not guaranteed to remain), users and developers are urged to use network.edgecount instead.

References

Butts, C. T. (2008). “network: a Package for Managing Relational Data in R.” Journal of Statistical Software, 24(2). http://www.jstatsoft.org/v24/i02/

See Also

get.network.attribute

Examples

Run this code
#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)
network.edgecount(g)==3   #Verify the edgecount

Run the code above in your browser using DataCamp Workspace