rlebdm {ergm} | R Documentation |
RLE-Compressed Boolean Dyad Matrix
Description
A simple class representing boolean (logical) square matrix run-length encoded in a column-major order.
Usage
rlebdm(x, n)
as.rlebdm(x, ...)
## S3 method for class 'matrix'
as.rlebdm(x, ...)
## S3 method for class 'edgelist'
as.rlebdm(x, ...)
## S3 method for class 'network'
as.rlebdm(x, ...)
## S3 method for class 'rlebdm'
as.matrix(x, ...)
## S3 method for class 'rlebdm'
dim(x)
## S3 method for class 'rlebdm'
print(x, compact = TRUE, ...)
## S3 method for class 'rlebdm'
Ops(e1, e2)
## S3 method for class 'rlebdm'
Math(x, ...)
## S3 method for class 'rlebdm'
compress(x, ...)
## S3 method for class 'rlebdm'
as.edgelist(x, prototype = NULL, ..., output = c("matrix", "tibble"))
Arguments
x |
for |
n |
the dimensions of the square matrix represented. |
... |
additional arguments, currently unused. |
compact |
whether to print the matrix compactly (dots and stars) or to print it as a logical matrix. |
e1 , e2 |
arguments to the unary ( |
prototype |
an optional network with network attributes that
are transferred to the edgelist and will filter it (e.g., if the
prototype network is given and does not allow self-loops, the
edgelist will not have self-loops either,e ven if the dyad matrix
has non- |
output |
a string specifying whether the result should be a
matrix or a |
Methods (by generic)
-
compress(rlebdm)
: Compress therle
data structure in therlebdm
by merging successive runs with identical values. -
as.edgelist(rlebdm)
: Convert anrlebdm
object to anedgelist
: a two-column integer matrix ortibble
giving the cells withTRUE
values.
Functions
-
as.rlebdm(matrix)
: Convert a square matrix of mode coercible tological
to anrlebdm
. -
as.rlebdm(edgelist)
: Convert an object of classedgelist
to anrlebdm
object whose cells in the edge list are set toTRUE
and whose other cells are set toFALSE
. -
as.rlebdm(network)
: Convert an object of classnetwork
to anrlebdm
object whose cells corresponding to extant edges are set toTRUE
and whose other cells are set toFALSE
.
Note
The arithmetic operators are mathematical functions are
implemented for the Ops
and the Math
group generics and
therefore work for almost all of them automatically. To preserve
the integrity of the data structure, the results are cast to
logical before return.
See Also
Examples
# From a vector
rlebdm(rep(rep(c(0,1),each=3),14)[seq_len(81)], 9)
# From a constant
rlebdm(1, 3)
# Large matrix (overflowing .Machine$integer.max)
big <- rlebdm(1, 50000)
unclass(big) # Represented as two runs
stopifnot(length(big)==50000^2)