Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
matrix() Function | Matrices
R Introduction: Part II
course content

Course Content

R Introduction: Part II

R Introduction: Part II

1. Matrices
2. Data Frames
3. Lists

book
matrix() Function

Sometimes you may have only one vector that you need to convert into a matrix. How can it be done? The answer is simple - by using the matrix() function.

This function has the following parameters:

These are not all the parameters, but the most important for us.

  • data - is the vector that we want to use to build the matrix;
  • nrow - number of rows in a new matrix;
  • ncol - number of columns in a new matrix;
  • byrow - logical, should the matrix be filled by rows. It's important to note that the length of the vector filled as the data parameter must be divisible by nrow or ncol. If both parameters are set, then nrow*ncol must equal the vector length.

For example, let's construct a 3x3 matrix with integers from 1 to 9.

12345
# Vector of integers num <- 1:9 # Build a matrix from vector matrix(num, nrow = 3, ncol = 3)
copy

As you can see, this matrix was built from above to below first. Let's set parameter byrow to T and compare the results.

123
num <- 1:9 # Build a matrix from vector by rows matrix(num, nrow = 3, ncol = 3, byrow = T)
copy

As you can see, we filled this matrix from left to right. We were free to leave only one of the nrow or ncol parameters since 9 (number of elements in the vector) is divisible by 3 and returns an integer result.

Task
test

Swipe to show code editor

Given a vector of numbers named num.

Based on this vector, you need to build the following matrix.

Use only the matrix() function, and think about the correct values of parameters.

How does seq() function work? seq(a, b) generates integers from a to b inclusive. seq(a, b, c) generates integers from a to b with the step c.

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 2
toggle bottom row

book
matrix() Function

Sometimes you may have only one vector that you need to convert into a matrix. How can it be done? The answer is simple - by using the matrix() function.

This function has the following parameters:

These are not all the parameters, but the most important for us.

  • data - is the vector that we want to use to build the matrix;
  • nrow - number of rows in a new matrix;
  • ncol - number of columns in a new matrix;
  • byrow - logical, should the matrix be filled by rows. It's important to note that the length of the vector filled as the data parameter must be divisible by nrow or ncol. If both parameters are set, then nrow*ncol must equal the vector length.

For example, let's construct a 3x3 matrix with integers from 1 to 9.

12345
# Vector of integers num <- 1:9 # Build a matrix from vector matrix(num, nrow = 3, ncol = 3)
copy

As you can see, this matrix was built from above to below first. Let's set parameter byrow to T and compare the results.

123
num <- 1:9 # Build a matrix from vector by rows matrix(num, nrow = 3, ncol = 3, byrow = T)
copy

As you can see, we filled this matrix from left to right. We were free to leave only one of the nrow or ncol parameters since 9 (number of elements in the vector) is divisible by 3 and returns an integer result.

Task
test

Swipe to show code editor

Given a vector of numbers named num.

Based on this vector, you need to build the following matrix.

Use only the matrix() function, and think about the correct values of parameters.

How does seq() function work? seq(a, b) generates integers from a to b inclusive. seq(a, b, c) generates integers from a to b with the step c.

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 2
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt