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 each pairs of taxa/types occur together in at least one sample.

Slots

total

An integer giving the total number of observations.

Author

N. Frerebeau

Examples

## Create an incidence (presence/absence) matrix
## Data will be coerced with as.logical()
A <- IncidenceMatrix(data = sample(0:1, 100, TRUE, c(1, 1/3)), nrow = 20)
## Create a count data matrix
B <- CountMatrix(data = sample(0:10, 100, TRUE), nrow = 20)

## Access
dim(B) # Get the matrix dimensions
#> [1] 20  5
row(B) # Get the row indexes
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,]    1    1    1    1    1
#>  [2,]    2    2    2    2    2
#>  [3,]    3    3    3    3    3
#>  [4,]    4    4    4    4    4
#>  [5,]    5    5    5    5    5
#>  [6,]    6    6    6    6    6
#>  [7,]    7    7    7    7    7
#>  [8,]    8    8    8    8    8
#>  [9,]    9    9    9    9    9
#> [10,]   10   10   10   10   10
#> [11,]   11   11   11   11   11
#> [12,]   12   12   12   12   12
#> [13,]   13   13   13   13   13
#> [14,]   14   14   14   14   14
#> [15,]   15   15   15   15   15
#> [16,]   16   16   16   16   16
#> [17,]   17   17   17   17   17
#> [18,]   18   18   18   18   18
#> [19,]   19   19   19   19   19
#> [20,]   20   20   20   20   20
col(B, as.factor = TRUE) # Get the column indexes
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,] col1 col2 col3 col4 col5
#>  [2,] col1 col2 col3 col4 col5
#>  [3,] col1 col2 col3 col4 col5
#>  [4,] col1 col2 col3 col4 col5
#>  [5,] col1 col2 col3 col4 col5
#>  [6,] col1 col2 col3 col4 col5
#>  [7,] col1 col2 col3 col4 col5
#>  [8,] col1 col2 col3 col4 col5
#>  [9,] col1 col2 col3 col4 col5
#> [10,] col1 col2 col3 col4 col5
#> [11,] col1 col2 col3 col4 col5
#> [12,] col1 col2 col3 col4 col5
#> [13,] col1 col2 col3 col4 col5
#> [14,] col1 col2 col3 col4 col5
#> [15,] col1 col2 col3 col4 col5
#> [16,] col1 col2 col3 col4 col5
#> [17,] col1 col2 col3 col4 col5
#> [18,] col1 col2 col3 col4 col5
#> [19,] col1 col2 col3 col4 col5
#> [20,] col1 col2 col3 col4 col5
#> Levels: col1 col2 col3 col4 col5
nrow(B) # Get the number of rows
#> [1] 20
ncol(B) # Get the number of columns
#> [1] 5
dimnames(B) # Get the dimension names
#> [[1]]
#>  [1] "row1"  "row2"  "row3"  "row4"  "row5"  "row6"  "row7"  "row8"  "row9" 
#> [10] "row10" "row11" "row12" "row13" "row14" "row15" "row16" "row17" "row18"
#> [19] "row19" "row20"
#> 
#> [[2]]
#> [1] "col1" "col2" "col3" "col4" "col5"
#> 
rownames(B) <- LETTERS[1:20] # Set the row names
rownames(B) # Get the rownames
#>  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
#> [20] "T"
colnames(B) <- letters[21:25] # Set the column names
colnames(B) # Get the column names
#> [1] "u" "v" "w" "x" "y"

## Subset
B[[1, 1]] # Get the first value
#> [1] 9
B[1] # Get the first value
#> [1] 9
B[, ] # Get all values
#> <CountMatrix: 20 x 5>
#>    u  v  w  x y
#> A  9 10  3  9 9
#> B  8  9 10  9 2
#> C  4  3  7 10 5
#> D  7  5  1  9 1
#> E  2  8  0 10 9
#> F  0  9  2  2 9
#> G 10  1  7  7 5
#> H  5  9  5  3 7
#> I  9  8  8  0 2
#> J  8 10  9  6 8
#> K  1  4  8  0 0
#> L  7  9  4  3 0
#> M  5  4  5  2 5
#> N  9  3  5  7 8
#> O  3  1  0  1 8
#> P  8  1  6  6 0
#> Q  2  3  7  4 5
#> R  6  1  2  5 9
#> S  1  4 10 10 5
#> T  2  9  9  6 8
B[1, , drop = FALSE] # Get the first row
#> <CountMatrix: 1 x 5>
#>   u  v w x y
#> A 9 10 3 9 9
B[, 1:3] # Get the first three column
#> <CountMatrix: 20 x 3>
#>    u  v  w
#> A  9 10  3
#> B  8  9 10
#> C  4  3  7
#> D  7  5  1
#> E  2  8  0
#> F  0  9  2
#> G 10  1  7
#> H  5  9  5
#> I  9  8  8
#> J  8 10  9
#> K  1  4  8
#> L  7  9  4
#> M  5  4  5
#> N  9  3  5
#> O  3  1  0
#> P  8  1  6
#> Q  2  3  7
#> R  6  1  2
#> S  1  4 10
#> T  2  9  9