R: Convert a network object into a numeric edgelist matrix

as.edgelist {network} | R Documentation

## Convert a network object into a numeric edgelist matrix

### Description

Constructs an edgelist in a sorted format with defined attributes.

### Usage

      ## S3 method for class 'network'
    as.edgelist(x, attrname = NULL, as.sna.edgelist = FALSE,
      inverted = NULL, ...)

      ## S3 method for class 'matrix'
    as.edgelist(x, n, directed = TRUE, bipartite = FALSE,
      loops = FALSE, inverted = FALSE, vnames = seq_len(n), ...)

      is.edgelist(x)

### Arguments

`x` | a `network` object with additional class added indicating how it should be dispatched.
`attrname` | optionally, the name of an edge attribute to use for edge values
`as.sna.edgelist` | logical; should the edgelist be returned in edgelist form expected by the sna package?
`inverted` | logical; value is passed to the 'inverted' flag on the edgelist returned
`n` | integer number of vertices in network, value passed to the 'n' flag on edgelist returned
`vnames` | vertex names (defaults to vertex ids) to be attached to edgelist for sna package compatibility
`directed` | logical; is network directed, value passed to the 'directed' flag on edgelist returned
`bipartite` | logical or integer; is network bipartite, value passed to the 'bipartite' flag on edgelist returned
`loops` | logical; are self-loops allowed in network?, value passed to the 'loops' flag on edgelist returned
`...` | additional arguments to other methods

### Details

Constructs a edgelist matrix from a network, sorted tails-major order, with tails first, and, for undirected networks, tail < head. This format is required by some reverse-depending packages (i.e. `ergm`)

The `as.matrix.network.edgelist` provides similar functionality but it does not enforce ordering or set the `edgelist` class and so should be slightly faster.

`is.edgelist` tests if an object has the class `'edgelist'`

### Value

A matrix in which the first two columns are integers giving the tail (source) and head (target) vertex ids of each edge. The matrix will be given the class `edgelist`.

The edgelist has additional attributes attached to it:

- `attr(,"n")` the number of vertices in the original network

- `attr(,"vnames")` the names of vertices in the original network

- `attr(,"directed")` logical, was the original network directed

- `attr(,"bipartite")` was the original network bipartite

- `attr(,"loops")` does the original network contain self-loops

- `attr(,"inverted")` indicates if the network has been inverted?

Note that if the `attrname` attribute is used the resulting edgelist matrix will have three columns. And if `attrname` refers to a character attribute, the resulting edgelist matrix will be character rather than numeric.

### Note

NOTE: this function was moved to network from the ergm package in network version 1.13

### See Also

See also `as.matrix.network.edgelist`

### Examples

       data(emon)
       as.edgelist(emon[[1]])
       # contrast with unsorted columns of
       as.matrix.network.edgelist(emon[[1]])

[Package network version 1.13.0.1 Index]