Bird
Raised Fist0
R Programmingprogramming~30 mins

Matrix arithmetic in R Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
Matrix arithmetic
📖 Scenario: Imagine you work in a small company that tracks sales data in tables. Each table is a matrix where rows are products and columns are months. You want to do some basic math with these sales tables.
🎯 Goal: You will create two sales matrices, set a multiplier for a sales increase, multiply the matrices, and then print the result.
📋 What You'll Learn
Create two matrices with exact values
Create a multiplier variable
Multiply matrices using matrix multiplication
Print the resulting matrix
💡 Why This Matters
🌍 Real World
Matrix arithmetic is useful in business for analyzing sales data, financial modeling, and scientific calculations.
💼 Career
Many jobs in data analysis, finance, and engineering require working with matrices and performing matrix operations.
Progress0 / 4 steps
1
Create two sales matrices
Create a matrix called sales1 with values 1, 2, 3, 4, 5, 6 arranged in 2 rows and 3 columns, and another matrix called sales2 with values 7, 8, 9, 10, 11, 12 arranged in 3 rows and 2 columns.
R Programming
Hint

Use the matrix() function with c() to combine values, and specify nrow and ncol.

2
Set a sales multiplier
Create a variable called multiplier and set it to 2 to represent doubling sales.
R Programming
Hint

Just assign the number 2 to the variable multiplier.

3
Multiply matrices with multiplier
Create a new matrix called result by multiplying sales1 and sales2 using matrix multiplication, then multiply the result by multiplier.
R Programming
Hint

Use %*% for matrix multiplication and multiply the whole result by multiplier.

4
Print the result matrix
Print the matrix result to display the final sales after multiplication.
R Programming
Hint

Use the print() function to show the matrix result.

Practice

(1/5)
1. In R, what does the operator %*% do when applied between two matrices?
easy
A. Performs matrix multiplication following linear algebra rules
B. Adds the two matrices element-wise
C. Subtracts the second matrix from the first element-wise
D. Multiplies the two matrices element-wise

Solution

  1. Step 1: Understand matrix operators in R

    In R, + and - perform element-wise addition and subtraction respectively, while %*% is used for matrix multiplication.
  2. Step 2: Identify the role of %*%

    The operator %*% multiplies matrices according to linear algebra rules, not element-wise.
  3. Final Answer:

    Performs matrix multiplication following linear algebra rules -> Option A
  4. Quick Check:

    %*% = matrix multiplication [OK]
Hint: Remember: %*% means matrix multiplication, not element-wise [OK]
Common Mistakes:
  • Confusing %*% with element-wise multiplication
  • Thinking + or - does matrix multiplication
  • Using * for matrix multiplication
2. Which of the following is the correct way to create a 2x2 matrix with values 1, 2, 3, 4 in R?
easy
A. matrix(1, 2, 3, 4, 2, 2)
B. matrix(1, 2, 3, 4, nrow=2, ncol=2)
C. matrix(c(1, 2, 3, 4), rows=2, cols=2)
D. matrix(c(1, 2, 3, 4), nrow=2, ncol=2)

Solution

  1. Step 1: Recall matrix creation syntax in R

    The function matrix() takes a vector of values and parameters nrow and ncol to specify dimensions.
  2. Step 2: Check each option

    matrix(c(1, 2, 3, 4), nrow=2, ncol=2) correctly uses c(1, 2, 3, 4) and named arguments nrow=2, ncol=2. matrix(1, 2, 3, 4, nrow=2, ncol=2) has wrong argument format. matrix(c(1, 2, 3, 4), rows=2, cols=2) uses invalid argument names. matrix(1, 2, 3, 4, 2, 2) uses positional arguments without the vector wrapper.
  3. Final Answer:

    matrix(c(1, 2, 3, 4), nrow=2, ncol=2) -> Option D
  4. Quick Check:

    Use c() vector and nrow, ncol named args [OK]
Hint: Always wrap values in c() and name nrow, ncol [OK]
Common Mistakes:
  • Not using c() to combine values
  • Using wrong argument names like rows or cols
  • Passing values without vector wrapper
3. What is the output of the following R code?
m1 <- matrix(c(1, 2, 3, 4), nrow=2, ncol=2, byrow=TRUE)
m2 <- matrix(c(5, 6, 7, 8), nrow=2, ncol=2, byrow=TRUE)
m3 <- m1 + m2
print(m3)
medium
A. [1 2; 3 4]
B. Error: non-conformable arrays
C. [6 8; 10 12]
D. [5 6; 7 8]

Solution

  1. Step 1: Understand element-wise addition

    Using + between matrices adds corresponding elements: (1+5), (2+6), (3+7), (4+8).
  2. Step 2: Calculate each element

    Results: 6, 8, 10, 12 arranged in 2x2 matrix.
  3. Final Answer:

    [6 8; 10 12] -> Option C
  4. Quick Check:

    Element-wise addition = sum of each element pair [OK]
Hint: Use + for element-wise addition, add each element pair [OK]
Common Mistakes:
  • Expecting matrix multiplication instead of addition
  • Confusing matrix dimensions causing errors
  • Misreading matrix layout in output
4. Consider this R code snippet:
m1 <- matrix(c(1, 2, 3, 4), nrow=2)
m2 <- matrix(c(5, 6, 7), nrow=3)
m3 <- m1 %*% m2
print(m3)

What is the problem with this code?
medium
A. The matrices have incompatible dimensions for multiplication
B. The matrix m1 is not square
C. The operator %*% is invalid for matrices
D. The matrix m2 has missing values

Solution

  1. Step 1: Check matrix dimensions

    m1 is 2x2, m2 is 3x1 (since 3 values and nrow=3). For multiplication, columns of m1 (2) must equal rows of m2 (3).
  2. Step 2: Identify dimension mismatch

    2 != 3, so multiplication is not possible, causing an error.
  3. Final Answer:

    The matrices have incompatible dimensions for multiplication -> Option A
  4. Quick Check:

    Matrix multiplication needs matching inner dimensions [OK]
Hint: Check if m1 columns = m2 rows before multiplying [OK]
Common Mistakes:
  • Assuming any matrices can be multiplied
  • Ignoring dimension mismatch errors
  • Thinking %*% works element-wise
5. You have two matrices in R:
m1 <- matrix(c(1, 0, 2, -1), nrow=2)
m2 <- matrix(c(3, 1, 4, 2), nrow=2)

You want to compute the matrix product m1 %*% m2 and then subtract the identity matrix of size 2. Which code correctly does this?
hard
A. m3 <- m1 * m2 - diag(2)
B. m3 <- m1 %*% m2 - diag(2)
C. m3 <- m1 %*% m2 - matrix(1, 2, 2)
D. m3 <- m1 %*% m2 - identity(2)

Solution

  1. Step 1: Compute matrix multiplication

    Use %*% to multiply m1 and m2 correctly.
  2. Step 2: Subtract identity matrix

    Use diag(2) to create a 2x2 identity matrix and subtract it from the product.
  3. Final Answer:

    m3 <- m1 %*% m2 - diag(2) -> Option B
  4. Quick Check:

    Use diag() for identity matrix in subtraction [OK]
Hint: Use diag(n) for identity matrix, %*% for multiplication [OK]
Common Mistakes:
  • Using * instead of %*% for multiplication
  • Using matrix(1,2,2) which is all ones, not identity
  • Using identity() which is not an R base function
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard