\HeaderA{col}{Column Indexes}{col}
\keyword{array}{col}
\begin{Description}\relax
Returns a matrix of integers indicating their column number in a
matrix-like object, or a factor of column labels.
\end{Description}
\begin{Usage}
\begin{verbatim}
col(x, as.factor = FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] a matrix-like object, that is one with a two-dimensional
\code{dim}.
\item[\code{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.
\end{ldescription}
\end{Arguments}
\begin{Value}
An integer (or factor) matrix with the same dimensions as \code{x} and whose
\code{ij}-th element is equal to \code{j} (or the \code{j}-th column label).
\end{Value}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{row}{row}} to get rows.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# 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
x <- matrix(0, nrow = 5, ncol = 5)
x[row(x) == col(x)] <- 1
\end{ExampleCode}
\end{Examples}

