wmatrix: A data matrix with row weights In statnet/statnet.common: Common R Scripts and Utilities Used by the Statnet Project Software

Description

A representation of a numeric matrix with row weights, represented on either linear (`linwmatrix`) or logarithmic (`logwmatrix`) scale.

Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57``` ```logwmatrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL, w = NULL) linwmatrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL, w = NULL) is.wmatrix(x) is.logwmatrix(x) is.linwmatrix(x) as.linwmatrix(x, ...) as.logwmatrix(x, ...) ## S3 method for class 'linwmatrix' as.linwmatrix(x, ...) ## S3 method for class 'logwmatrix' as.linwmatrix(x, ...) ## S3 method for class 'logwmatrix' as.logwmatrix(x, ...) ## S3 method for class 'linwmatrix' as.logwmatrix(x, ...) ## S3 method for class 'matrix' as.linwmatrix(x, w = NULL, ...) ## S3 method for class 'matrix' as.logwmatrix(x, w = NULL, ...) ## S3 method for class 'wmatrix' print(x, ...) ## S3 method for class 'logwmatrix' print(x, ...) ## S3 method for class 'linwmatrix' print(x, ...) ## S3 method for class 'logwmatrix' compress_rows(x, ...) ## S3 method for class 'linwmatrix' compress_rows(x, ...) ## S3 method for class 'wmatrix' decompress_rows(x, target.nrows = NULL, ...) ## S3 method for class 'wmatrix' x[i, j, ..., drop = FALSE] ## S3 replacement method for class 'wmatrix' x[i, j, ...] <- value ```

Arguments

 `data, nrow, ncol, byrow, dimnames` passed to `matrix`. `w` row weights on the appropriate scale. `x` an object to be coerced or tested. `...` extra arguments, currently unused. `target.nrows` see `decompress_rows`. `i, j, value` rows and columns and values for extraction or replacement; as `matrix`. `drop` Used for consistency with the generic. Ignored, and always treated as `FALSE`.

Value

An object of class `linwmatrix`/`logwmatrix` and `wmatrix`, which is a `matrix` but also has an attribute `w` containing row weights on the linear or the natural-log-transformed scale.

Note

Note that `wmatrix` itself is an "abstract" class: you cannot instantiate it.

Note that at this time, `wmatrix` is designed as, first and foremost, as class for storing compressed data matrices, so most methods that operate on matrices may not handle the weights correctly and may even cause them to be lost.

`rowweights`, `lrowweights`, `compress_rows`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```(m <- matrix(1:3, 2, 3, byrow=TRUE)) (m <- rbind(m, 3*m, 2*m, m)) (mlog <- as.logwmatrix(m)) (mlin <- as.linwmatrix(m)) (cmlog <- compress_rows(mlog)) (cmlin <- compress_rows(mlin)) stopifnot(all.equal(as.linwmatrix(cmlog),cmlin)) cmlog[2,] <- 1:3 (cmlog <- compress_rows(cmlog)) stopifnot(sum(rowweights(cmlog))==nrow(m)) (m3 <- matrix(c(1:3,(1:3)*2,(1:3)*3), 3, 3, byrow=TRUE)) (rowweights(m3) <- c(4, 2, 2)) stopifnot(all.equal(compress_rows(as.logwmatrix(m)), as.logwmatrix(m3),check.attributes=FALSE)) stopifnot(all.equal(rowweights(compress_rows(as.logwmatrix(m))), rowweights(as.logwmatrix(m3)),check.attributes=FALSE)) ```