\name{is.fullrank} \alias{is.fullrank} \alias{nonEstimable} \title{Check for Full Column Rank} \description{ Test whether a numeric matrix has full column rank. } \usage{ is.fullrank(x) nonEstimable(x) } \arguments{ \item{x}{a numeric matrix or vector} } \value{ \code{is.fullrank} returns \code{TRUE} or \code{FALSE}. \code{nonEstimable} returns a character vector of names for the columns of \code{x} which are linearly dependent on previous columns. If \code{x} has full column rank, then the value is \code{NULL}. } \details{ \code{is.fullrank} is used to check the integrity of design matrices in limma, for example after \link[limma:subsetting]{subsetting} operations. \code{nonEstimable} is used by \code{\link{lmFit}} to report which coefficients in a linear model cannot be estimated. } \author{Gordon Smyth} \examples{ # TRUE is.fullrank(1) is.fullrank(cbind(1,0:1)) # FALSE is.fullrank(0) is.fullrank(matrix(1,2,2)) nonEstimable(matrix(1,2,2)) } \keyword{algebra}