An S4 class to represent a co-occurrence matrix.

## Details

A co-occurrence matrix is a symmetric matrix with zeros on its main diagonal, which works out how many times (expressed in percent) each pairs of taxa/types occur together in at least one sample.

## Matrix ID

When a matrix is first created, an identifier is generated (UUID v4). This ID is preserved when coercing to another class. Thus, the object ID is unique within the same class, but two objects of different classes can have the same ID. This makes it possible to identify objects representing the same initial data and associate them with the results of specific computations.

## Get and set

In the code snippets below, x is a *Matrix object.

get_id(x)

Get the ID of x.

get_dates(x) and set_dates(x) <- value

Get or set the dates of x.

get_coordinates(x) and set_coordinates(x) <- value

Get or set the geographical coordinates of x.

## Access

In the code snippets below, x is a *Matrix object.

dim(x)

Returns the dimension of x.

nrow(x)

Returns the number of rows present in x.

ncol(x)

Returns the number of columns present in x.

dimnames(x), dimnames(x) <- value

Retrieves or sets the row dimnames of x according to value.

rownames(x), rownames(x) <- value

Retrieves or sets the row names of x according to value.

colnames(x), colnames(x) <- value

Retrieves or sets the column names of x according to value.

## Subset

In the code snippets below, x is a *Matrix object.

x[i, j]

Extracts elements selected by subscripts i and j. Indices are numeric, integer or character vectors or empty (missing) or NULL. Numeric values are coerced to integer as by as.integer (and hence truncated towards zero). Character vectors will be matched to the name of the elements. An empty index (a comma separated blank) indicates that all entries in that dimension are selected. Returns an object of the same class as x.

x[[i]]

Extracts a single element selected by subscript i.

NumericMatrix

Other matrix: AbundanceMatrix-class, CountMatrix-class, IncidenceMatrix-class, LogicalMatrix-class, Matrix-class, NumericMatrix-class, SimilarityMatrix-class, StratigraphicMatrix-class, coerce()

## Examples

## Create a count data matrix
A1 <- CountMatrix(data = sample(0:10, 100, TRUE), nrow = 10, ncol = 10)

## Access
get_id(A1)#> [1] "447a07ce-8ce3-4eca-95c0-d8f57a4cb213"dim(A1) # Get the matrix dimensions#> [1] 10 10colnames(A1) <- letters[11:20] # Set the column names
colnames(A1) # Get the column names#>  [1] "k" "l" "m" "n" "o" "p" "q" "r" "s" "t"rownames(A1) <- LETTERS[1:10] # Set the row names
rownames(A1) # Get the rownames#>  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
## Subset
A1[[1]] # Get the first value#> [1] 9A1[, ] # Get all values#>    k  l  m n o  p  q r  s t
#> A  9  4  3 3 7  5  1 2  6 7
#> B  0 10 10 2 2  0  7 1  9 3
#> C 10  5  5 8 4 10  9 0  9 7
#> D  9  1  9 9 8  2  9 7  1 8
#> E  4  4  2 8 5 10  0 8 10 1
#> F  4  4  2 0 9  0  3 6  3 3
#> G 10  0  0 7 0  8  8 4  9 4
#> H  6  4  7 5 8 10 10 1  1 7
#> I  6  8  4 9 3  0  0 6  7 4
#> J  7  9  8 5 5  9  1 9 10 7A1[1, ] # Get the first row#> k l m n o p q r s t
#> 9 4 3 3 7 5 1 2 6 7 A1[c("A", "B", "C"), ] # Get the first three rows#>    k  l  m n o  p q r s t
#> A  9  4  3 3 7  5 1 2 6 7
#> B  0 10 10 2 2  0 7 1 9 3
#> C 10  5  5 8 4 10 9 0 9 7A1[c("A", "B", "C"), 1] # Get the first three rows of the first column#>  A  B  C
#>  9  0 10 A1[, 1, drop = FALSE] # Get the first column#>    k
#> A  9
#> B  0
#> C 10
#> D  9
#> E  4
#> F  4
#> G 10
#> H  6
#> I  6
#> J  7
## Coerce counts to relative frequencies
B <- as_abundance(A1)
## Row sums are internally stored before coercing to a frequency matrix
get_totals(B) # Get row sums#>  A  B  C  D  E  F  G  H  I  J
#> 47 44 67 63 52 34 50 59 47 70 ## This allows to restore the source data
A2 <- as_count(B)
all(A1 == A2)#> [1] TRUE## Coerce to a co-occurrence matrix
B <- as_occurrence(A1)