# Heuristic Determination of Matrix Types for Network Storage

### Description

`which.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.

### Usage

1 |

### Arguments

`x` |
a matrix, or an object of class |

### Details

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.

### Value

One of `"adjacency"`

, `"incidence"`

, or `"edgelist"`

### Author(s)

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

`as.matrix.network`

, `as.network.matrix`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 | ```
#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)
#Try the same thing with a network
g<-network(m)
which.matrix.type(g)
which.matrix.type(as.matrix.network(g,matrix.type="incidence"))
which.matrix.type(as.matrix.network(g,matrix.type="edgelist"))
``` |