Operators acting on objects to extract or replace parts.

# S4 method for AbundanceMatrix
[(x, i, j, ..., drop = TRUE)

# S4 method for AbundanceMatrix
[(x, i, j, ...) <- value

# S4 method for AbundanceMatrix
[[(x, i, j, ...) <- value

Arguments

x

An object from which to extract element(s) or in which to replace element(s) (typically a *Matrix object).

i, j

Indices specifying elements to extract or replace. 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.

...

Currently not used.

drop

A logical scalar: should the result be coerced to the lowest possible dimension? This only works for extracting elements, not for the replacement.

value

A possible value for the element(s) of x.

Value

A subsetted object of the same sort as x.

See also

Other mutators: mutators, summary()

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