Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn What is a Matrix? | Matrices
R Introduction: Part II

book
What is a Matrix?

A matrix is a two-dimensional data structure in R, which means that every matrix element can be characterized by its position among rows and columns. Matrices in R can contain data of only one type, i.e., a matrix can not contain numbers and text simultaneously.

There are several ways to create a matrix in R. On one side, you can 'merge' two rows; on the other, you can 'merge' two columns. Let's consider each method separately. The first one is the rbind() function. Function name comes from Rows Bind - this function connects vectors as rows.

# Rows
row_1 = c(1, 2, 3)
row_2 = c(4, 5, 6)
# Merge two rows
rbind(row_1, row_2)
12345
# Rows row_1 = c(1, 2, 3) row_2 = c(4, 5, 6) # Merge two rows rbind(row_1, row_2)
copy

As you can see, this matrix has two rows and three columns (since each row has three values). Another way - is to use cbind() function. Likewise, the previous function, name of this function comes from Columns Bind. Let's look at the example.

# Columns
col_1 = c(1, 2, 3)
col_2 = c(4, 5, 6)
# Merge two columns
cbind(col_1, col_2)
12345
# Columns col_1 = c(1, 2, 3) col_2 = c(4, 5, 6) # Merge two columns cbind(col_1, col_2)
copy

As you can see, this matrix has two columns and three rows (since each column has three values).

Task

Swipe to start coding

Practice creating matrices by yourself using both methods!

  1. Create two vectors: a with integers from 1 to 4, and b with integers from 5 to 8 using the colon : sign.
  2. Create and output matrix by merging a and b as rows.
  3. Create and output matrix by merging a and b as columns.

Solution

# Create vectors
a <- 1:4
b <- 5:8

# Merge vectors as rows
rbind(a, b)
# Merge vectors as columns
cbind(a, b)
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 1
# Create vectors
a <- ___
b <- ___

# Merge vectors as rows
___(___)
# Merge vectors as columns
___(___)
toggle bottom row
some-alt