# col: Column Indexes

## Description

Returns a matrix of integers indicating their column number in a matrix-like object, or a factor of column labels.

## Usage

 ```1 2``` ```col(x, as.factor = FALSE) .col(dim) ```

## Arguments

 `x` a matrix-like object, that is one with a two-dimensional `dim`. `dim` a matrix dimension, i.e., an integer valued numeric vector of length two (with non-negative entries). `as.factor` a logical value indicating whether the value should be returned as a factor of column labels (created if necessary) rather than as numbers.

## Value

An integer (or factor) matrix with the same dimensions as `x` and whose `ij`-th element is equal to `j` (or the `j`-th column label).

## References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

`row` to get rows; `slice.index` for a general way to get slice indices in an array.
 ``` 1 2 3 4 5 6 7 8 9 10``` ```# extract an off-diagonal of a matrix ma <- matrix(1:12, 3, 4) ma[row(ma) == col(ma) + 1] # create an identity 5-by-5 matrix more slowly than diag(n = 5): x <- matrix(0, nrow = 5, ncol = 5) x[row(x) == col(x)] <- 1 (i34 <- .col(3:4)) stopifnot(identical(i34, .col(c(3,4)))) # 'dim' maybe "double" ```