# Matrix Cross Product in R (2 Examples) | crossprod & tcrossprod Functions

In this R tutorial youâ€™ll learn how to calculate matrix cross products using the crossprod and tcrossprod functions.

The tutorial consists of these content blocks:

Hereâ€™s the step-by-step processâ€¦

## Creation of Example Data

The first step is to create some data that we can use in the examples later on:

```my_mat <- matrix(1:9, nrow = 3)               # Create example matrix
my_mat                                        # Print example matrix```

Table 1 shows that our example data is composed of three rows and three columns.

Next, we also have to create an example vector:

```my_vec <- 1:3                                 # Create example vector
my_vec                                        # Print example vector
# [1] 1 2 3```

Our vector contains three integers.

## Example 1: Cross Product Using crossprod() Function

In Example 1, Iâ€™ll explain how to calculate the cross product of a matrix and a vector.

For this, we can apply the crossprod function as shown in the following R code:

```my_crossprod1 <- crossprod(my_mat, my_vec)    # Apply crossprod function
my_crossprod1                                 # Print cross product```

As shown in Table 2, the previous R programming code has created a new matrix object containing the cross product of our matrix and vector objects.

Note that the t function and %*% operator can also be used to compute a cross product matrix, but the crossprod function is usually faster and more efficient.

However, letâ€™s compare the result of the t function and %*% operator to the crossprod function:

```my_crossprod2 <- t(my_mat) %*% my_vec         # t() function & %*% operator
my_crossprod2                                 # Print cross product```

The output of the previous syntax is shown in Table 3: We have created exactly the same result as with the crossprod function.

## Example 2: Cross Product of Transpose of Matrix Using tcrossprod() Function

Similar to the crossprod function, we can apply the tcrossprod function to calculate the cross product of a transposed matrix.

Letâ€™s assume that we want to calculate the cross product of the transpose of a matrix. Then, we can apply the code as shown below:

```my_tcrossprod1 <- tcrossprod(my_mat)          # Apply tcrossprod function
my_tcrossprod1                                # Print cross product of transpose of matrix```

After executing the previous R programming code the matrix with the tcrossprod result shown in Table 4 has been created.

The tcrossprod function is also a faster alternative to the expression provided by the t function and %*% operator.

However, letâ€™s use this alternative code as well:

```my_tcrossprod2 <- my_mat %*% t(my_mat)        # %*% operator & t() function
my_tcrossprod2                                # Print cross product of transpose of matrix```

After running the previous R syntax the same matrix as after applying the tcrossprod command has been created.

## Video, Further Resources & Summary

In case you need further explanations on the examples of this page, you could have a look at the following video that I have published on my YouTube channel. In the video, I explain the R codes of this article in a live session.

In addition, you may want to read the other RStudio tutorials on my website.

Summary: This article has illustrated how to apply the crossprod and tcrossprod functions in R programming. If you have any further questions, donâ€™t hesitate to let me know in the comments section.

Subscribe to the Statistics Globe Newsletter