📖 Scenario: Imagine you run a small shop and you want to keep track of how many items you sold each day. You have two products and three days of sales data. Using a matrix helps you organize this data in rows and columns, just like a table.
🎯 Goal: You will create a matrix to hold sales data, set up a threshold for good sales, find which sales are above that threshold using matrix operations, and finally print the result.
📋 What You'll Learn
Create a matrix called sales with 2 rows and 3 columns using the exact values: 5, 8, 6, 7, 3, 9
Create a variable called threshold and set it to 6
Create a logical matrix called good_sales that is TRUE where sales values are greater than threshold
Print the good_sales matrix
💡 Why This Matters
🌍 Real World
Matrices help organize and analyze tabular data like sales, temperatures, or survey results efficiently.
💼 Career
Understanding matrices and their operations is useful in data analysis, statistics, and many programming jobs involving data.
Progress0 / 4 steps
1
Create the sales matrix
Create a matrix called sales with the values 5, 8, 6, 7, 3, 9 arranged in 2 rows and 3 columns using the matrix() function.
R Programming
Hint
Use matrix(c(5, 8, 6, 7, 3, 9), nrow = 2, ncol = 3, byrow = TRUE) to create the matrix with the exact values.
2
Set the sales threshold
Create a variable called threshold and set it to the number 6.
R Programming
Hint
Just write threshold <- 6 to create the variable.
3
Find good sales with matrix comparison
Create a logical matrix called good_sales that is TRUE where the sales matrix values are greater than the threshold variable.
R Programming
Hint
Use the comparison operator > between sales and threshold to get a logical matrix.
4
Print the good sales matrix
Print the good_sales matrix to see which sales are above the threshold.
R Programming
Hint
Use print(good_sales) to show the matrix.
Practice
(1/5)
1. Why are matrices useful for tabular math in R?
easy
A. Because they organize data in rows and columns for easy calculations
B. Because they store only text data
C. Because they can only hold one number
D. Because they automatically create graphs
Solution
Step 1: Understand matrix structure
Matrices arrange data in rows and columns, like a table.
Step 2: Recognize usefulness for math
This structure makes it easy to perform math operations on the data.
Final Answer:
Because they organize data in rows and columns for easy calculations -> Option A
Quick Check:
Matrix = rows + columns for math [OK]
Hint: Think tables: rows and columns help math [OK]
Common Mistakes:
Confusing matrices with lists
Thinking matrices hold only text
Believing matrices create graphs automatically
2. Which of the following is the correct way to create a 2x3 matrix in R with numbers 1 to 6?
easy
A. matrix(1:6, 3, 2, byrow=TRUE)
B. matrix(1:6, nrow=3, ncol=2)
C. matrix(1:6, rows=2, cols=3)
D. matrix(1:6, nrow=2, ncol=3)
Solution
Step 1: Recall matrix() syntax
The correct syntax uses nrow and ncol to specify dimensions.
Step 2: Match dimensions to question
We want 2 rows and 3 columns, so nrow=2 and ncol=3.
Final Answer:
matrix(1:6, nrow=2, ncol=3) -> Option D
Quick Check:
nrow=2 and ncol=3 creates 2x3 matrix [OK]
Hint: Use nrow and ncol to set matrix size [OK]
Common Mistakes:
Swapping nrow and ncol values
Using wrong argument names like rows or cols
Forgetting to specify dimensions
3. What is the output of this R code?
m <- matrix(1:6, nrow=2, ncol=3) m * 2
medium
A. [2 6 10; 4 8 12]
B. [1 2 3; 4 5 6]
C. [1 4 9; 16 25 36]
D. Error: non-numeric matrix
Solution
Step 1: Create the matrix
The matrix m is: 1 3 5 2 4 6 (since R fills by column)
Step 2: Multiply each element by 2
Each number doubles: 2 6 10 4 8 12
Final Answer:
[2 6 10; 4 8 12] -> Option A
Quick Check:
Element-wise multiply by 2 = doubled values [OK]
Hint: Matrix * number doubles each element [OK]
Common Mistakes:
Assuming matrix fills by row by default
Confusing element-wise multiply with matrix multiplication
Expecting error on numeric operation
4. Identify the error in this R code that tries to create a 3x2 matrix:
C. 'fill' is not a valid argument for matrix() function
D. matrix() cannot create 3x2 matrices
Solution
Step 1: Check matrix() arguments
Valid arguments include nrow, ncol, byrow, but not 'fill'.
Step 2: Identify invalid argument
The 'fill=TRUE' is not recognized and causes an error.
Final Answer:
'fill' is not a valid argument for matrix() function -> Option C
Quick Check:
Invalid argument causes error [OK]
Hint: Only use documented matrix() arguments [OK]
Common Mistakes:
Assuming 'fill' is valid argument
Thinking byrow must be FALSE
Believing matrix size is limited
5. You have a data frame with 4 rows and 3 columns of numbers. You want to convert it to a matrix and multiply each value by 10. Which R code correctly does this?
hard
A. mat <- as.data.frame(df); mat * 10
B. mat <- as.matrix(df); mat * 10
C. mat <- matrix(df); mat * 10
D. mat <- matrix(df, nrow=4, ncol=3); mat + 10
Solution
Step 1: Convert data frame to matrix
Use as.matrix() to convert df to matrix preserving data.
Step 2: Multiply matrix elements by 10
Multiplying mat * 10 scales each element correctly.
Final Answer:
mat <- as.matrix(df); mat * 10 -> Option B
Quick Check:
as.matrix + element-wise multiply = correct [OK]
Hint: Use as.matrix() to convert before math [OK]
Common Mistakes:
Using matrix() directly on data frame
Trying to multiply data frame directly
Adding 10 instead of multiplying
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.