# col: Column Indexes

 col R Documentation

## Column Indexes

### Description

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

### Usage

```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.

### Examples

```# 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"
```