Many times, we need an empty matrix and want to fill it later as per our requirement. Below are a few examples to achieve the same.In this article, we will be looking into creating an empty matrix in R and in the final section we will see how to verify if an object is a matrix or not.

- Create an empty matrix in R [NA filled].
- Create an empty matrix in R [Zero Rows].
- Create an empty matrix in R [Zero Columns].
- Verify if the object is a matrix or not.

## Create an empty matrix in R [ NA filled ]

Here, we are creating a matrix of 5 columns and 5 rows filled with NA. **‘NA’** in R means missing values. It is a logical constant of length 1.

We will be using the matrix() function.

**Syntax** of matrix() function :-

*matrix(x, nrow, ncol, byrow, dimnames)*

**Arguments:-**

**x** â€“ is a vector (including a list or expression vector) input representing the elements in the matrix.

**nrow** – is the number specifying the number of rows in the matrix to be created.

**ncol** -is the number specifying the number of columns in the matrix to be created.

**byrow** – is a logical value if * TRUE*: the matrix is filled row-wise; else will be column-wise. By default, its value is

*.*

**FALSE****dimnames**– is the argument through which specifies the names of rows and columns.

So instead of adding any input as a vector, we will just be supplying *â€˜NAâ€™* as the first argument and will specify the value of nrows and ncol arguments as 5.

**Example:-**

empty_matrix<-matrix(NA,5,5) print(empty_matrix)

**Output:-**

[,1] [,2] [,3] [,4] [,5] [1,] NA NA NA NA NA [2,] NA NA NA NA NA [3,] NA NA NA NA NA [4,] NA NA NA NA NA [5,] NA NA NA NA NA

## Create an empty matrix in R [ Zero Rows ]

In this section we will see how to create an empty matrix with zero rows and we will also be **naming** the rows for clarity.

Again, we will be using the *matrix()* function but specifying with arguments that the number of rows is zero (nrow=0).

Example:-

matrix_zero_row<-matrix(ncol=3,nrow=0) colnames(matrix_zero_row) <- c("Name","Age","Department") print(matrix_zero_row)

**Output:-**

Name Age Department

The above output clarifies three columns created Name, Age, and Department, respectively, and there are no rows.

## Create an empty matrix in R [ Zero columns ]

Similar to the above section, we created an empty matrix with zero rows; in this section, we will see how to create an empty matrix with zero columns, and again for clarity, we will give names to rows for clarity.

*matrix()* function is used but specifying with arguments that the number of columns is zero (ncol=0).

**Example:-**

matrix_zero_col<-matrix(ncol=0,nrow=3) rownames(matrix_zero_col) <- c("Student1","Student2","Student3") print(matrix_zero_col)

**Output:-**

Student1 Student2 Student3

The above output clarifies three rows created Student1, Student2, and Student3, respectively, and there are no columns.

## Verify if an object is a matrix or not.

To verify if the object is a matrix or not, R has provided a function **is.matrix(x)**.

Here the object passed in the argument(**x**) is tested if it is a (strict) matrix.

The function would return ** TRUE** if the object passed in the argument is a matrix.

The function would return

*if the object passed in the argument is*

**FALSE***a matrix.*

**not****Example:-**

In the below example code, we will be observing the output on testing the above three matrices created when passed in *is.matrix()* function.

is.matrix(empty_matrix) is.matrix(matrix_zero_row) is.matrix(matrix_zero_col)

**Output:-**

> is.matrix(empty_matrix) [1] TRUE > is.matrix(matrix_zero_row) [1] TRUE > is.matrix(matrix_zero_col) [1] TRUE

Note that since all the three arguments passed are matrices; therefore, *TRUE* is printed three times on the console.

Know more about creating matrices and giving names to rows and columns.