Operators acting on objects to extract or replace parts.

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

# S4 method for DataMatrix
[[(x, i, j, ..., exact = TRUE)

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

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

Arguments

x

An object from which to extract element(s) or in which to replace element(s).

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.

exact

A logical scalar: should partial matching be used? If TRUE (the default), no partial matching is allowed.

value

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

Value

A subsetted object of the same sort as x.

See also

Other mutator: mutator

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