which.matrix.type.Rdwhich.matrix.type attempts to choose an appropriate matrix expression
for a network object, or (if its argument is a matrix) attempts to
determine whether the matrix is of type adjacency, incidence, or edgelist.
which.matrix.type(x)One of "adjacency", "incidence", or "edgelist"
The heuristics used to determine matrix types are fairly arbitrary, and should be avoided where possible. This function is intended to provide a modestly intelligent fallback option when explicit identification by the user is not possible.
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
#Create an arbitrary adjacency matrix
m<-matrix(rbinom(25,1,0.5),5,5)
diag(m)<-0
#Can we guess the type?
which.matrix.type(m)
#> [1] "adjacency"
#Try the same thing with a network
g<-network(m)
which.matrix.type(g)
#> [1] "adjacency"
which.matrix.type(as.matrix.network(g,matrix.type="incidence"))
#> [1] "bipartite"
which.matrix.type(as.matrix.network(g,matrix.type="edgelist"))
#> [1] "edgelist"