# nrow: The Number of Rows/Columns of an Array

 nrow R Documentation

## The Number of Rows/Columns of an Array

### Description

`nrow` and `ncol` return the number of rows or columns present in `x`. `NCOL` and `NROW` do the same treating a vector as 1-column matrix, even a 0-length vector, compatibly with `as.matrix()` or `cbind()`, see the example.

### Usage

```nrow(x)
ncol(x)
NCOL(x)
NROW(x)
```

### Arguments

 `x` a vector, array, data frame, or `NULL`.

### Value

an `integer` of length 1 or `NULL`, the latter only for `ncol` and `nrow`.

### References

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

`dim` which returns all dimensions, and `length` which gives a number (a â€˜countâ€™) also in cases where `dim()` is `NULL`, and hence `nrow()` and `ncol()` return `NULL`; `array`, `matrix`.

### Examples

```ma <- matrix(1:12, 3, 4)
nrow(ma)   # 3
ncol(ma)   # 4

ncol(array(1:24, dim = 2:4)) # 3, the second dimension
NCOL(1:12) # 1
NROW(1:12) # 12, the length() of the vector

## as.matrix() produces 1-column matrices from 0-length vectors,
## and so does cbind() :
dim(as.matrix(numeric())) # 0 1
dim(    cbind(numeric())) # ditto
## consequently, NCOL(.) gives 1, too :
NCOL(numeric()) # 1 and hence
NCOL(NULL)      # 1
```