Learn R Programming

network (version 1.19.0)

sum.network: Combine Networks by Edge Value Addition

Description

Given a series of networks, sum.network attempts to form a new network by accumulation of edges. If a non-null attrname is given, the corresponding edge attribute is used to determine and store edge values.

Usage

# S3 method for network
sum(..., attrname = NULL, na.rm = FALSE)

Value

A network object.

Arguments

...

one or more network objects.

attrname

the name of an edge attribute to use when assessing edge values, if desired.

na.rm

logical; should edges with missing data be ignored?

Author

Carter T. Butts buttsc@uci.edu

Details

The network summation method attempts to combine its arguments by addition of their respective adjacency matrices; thus, this method is only applicable for networks whose adjacency coercion is well-behaved. Addition is effectively boolean unless attrname is specified, in which case this is used to assess edge values -- net values of 0 will result in removal of the underlying edge.

Other network attributes in the return value are carried over from the first element in the list, so some persistence is possible (unlike the addition operator). Note that it is sometimes possible to “add” networks and raw adjacency matrices using this routine (if all dimensions are correct), but more exotic combinations may result in regrettably exciting behavior.

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

Examples

Run this code

#Create some networks
g<-network.initialize(5)
h<-network.initialize(5)
i<-network.initialize(5)
g[1,,names.eval="marsupial",add.edges=TRUE]<-1
h[1:2,,names.eval="marsupial",add.edges=TRUE]<-2
i[1:3,,names.eval="marsupial",add.edges=TRUE]<-3

#Combine by addition
pouch<-sum(g,h,i,attrname="marsupial")
pouch[,]                                   #Edge values in the pouch?
as.sociomatrix(pouch,attrname="marsupial")     #Recover the marsupial

Run the code above in your browser using DataLab