Coerce a Network Object to Matrix Form

Description

The as.matrix methods attempt to coerce their input to a matrix in adjacency, incidence, or edgelist form. Edge values (from a stored attribute) may be used if present.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## S3 method for class 'network'
as.matrix(x, matrix.type = NULL, attrname = NULL, ...)
## S3 method for class 'adjacency'
as.matrix.network(x, attrname=NULL, 
    expand.bipartite = FALSE, ...)
## S3 method for class 'edgelist'
as.matrix.network(x, attrname=NULL, 
    as.sna.edgelist = FALSE, ...)
## S3 method for class 'incidence'
as.matrix.network(x, attrname=NULL, ...)

Arguments

x

an object of class network

matrix.type

one of "adjacency", "incidence", "edgelist", or NULL

attrname

optionally, the name of an edge attribute to use for edge values

expand.bipartite

logical; if x is bipartite, should we return the full adjacency matrix (rather than the abbreviated, two-mode form)?

as.sna.edgelist

logical; should the edgelist be returned in sna edglist form?

...

additional arguments.

Details

If no matrix type is specified, which.matrix.type will be used to make an educated guess based on the shape of x. Where edge values are not specified, a dichotomous matrix will be assumed.

Edgelists returned by these methods are by default in a slightly different form from the sna edgelist standard, but do contain the sna extended matrix attributes (see as.network.matrix). They should typically be compatible with sna library functions. To ensure compatibility, the as.sna.edgelist argument can be set (which returns an exact sna edgelist). The as.edgelist function also returns a similar edgelist matrix but with an enforced sorting.

If the attrname attribute is used to include a charcter attribute, the resulting edgelist matrix will be character rather than numeric.

Note that adjacency matrices may also be obtained using the extraction operator. See the relevant man page for details.

Value

An adjacency, incidence, or edgelist matrix

Author(s)

Carter T. Butts buttsc@uci.edu and David Hunter dhunter@stat.psu.edu

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

which.matrix.type, network, network.extraction,as.edgelist

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#Create a random network
m <- matrix(rbinom(25,1,0.5),5,5)
diag(m) <- 0
g <- network(m)

#Coerce to matrix form
as.matrix.network(g,matrix.type="adjacency")
as.matrix.network(g,matrix.type="incidence")
as.matrix.network(g,matrix.type="edgelist")

#Can also use the extraction operator
g[,]                            #Get entire adjacency matrix
g[1:5,6:10]                     #Obtain a submatrix

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.