Bird
Raised Fist0
R Programmingprogramming~20 mins

Matrix creation in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Matrix Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this matrix creation code?
Consider the following R code that creates a matrix. What will be the output when printed?
R Programming
m <- matrix(1:6, nrow=2, ncol=3)
print(m)
A
[,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
B
[,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
C
[,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
D
[,1] [,2] [,3]
[1,]    6    5    4
[2,]    3    2    1
Attempts:
2 left
💡 Hint
Remember that R fills matrices by columns by default.
❓ Predict Output
intermediate
2:00remaining
What is the value of element m[2,3] after this code?
Given the matrix creation below, what is the value stored at row 2, column 3?
R Programming
m <- matrix(seq(10, 60, by=10), nrow=3, ncol=2)
m[2,3] <- 99
print(m)
AError: subscript out of bounds
B99
C30
D60
Attempts:
2 left
💡 Hint
Check the dimensions of the matrix before assigning.
🧠 Conceptual
advanced
2:00remaining
How does the byrow argument affect matrix creation?
What is the difference in the matrix created by these two commands? m1 <- matrix(1:6, nrow=2, ncol=3) m2 <- matrix(1:6, nrow=2, ncol=3, byrow=TRUE) Choose the correct description.
Am1 fills the matrix by columns, m2 fills by rows
BBoth fill by columns, but m2 transposes the matrix
Cm1 fills the matrix by rows, m2 fills by columns
DBoth fill by rows, but m2 reverses the order
Attempts:
2 left
💡 Hint
Check the default behavior of matrix filling and what byrow=TRUE changes.
🔧 Debug
advanced
2:00remaining
What error does this matrix creation code produce?
Examine the code below and identify the error it produces when run in R: m <- matrix(1:8, nrow=3, ncol=3) print(m)
AWarning: data length is not a sub-multiple or multiple of the number of rows or columns
BError: invalid matrix dimensions
CError: number of items to replace is not a multiple of replacement length
DNo error, matrix is created with recycling of values
Attempts:
2 left
💡 Hint
Think about what happens when the data length does not match the matrix size exactly.
🚀 Application
expert
2:00remaining
How many elements are in the matrix created by this code?
What is the total number of elements in the matrix created by this R code? m <- matrix(data=rep(5, times=12), nrow=4, ncol=3)
A7
B12
C4
D3
Attempts:
2 left
💡 Hint
Multiply the number of rows by the number of columns.

Practice

(1/5)
1. What does the matrix() function in R primarily do?
easy
A. Creates a table of values arranged in rows and columns
B. Generates a list of random numbers
C. Sorts a vector in ascending order
D. Calculates the sum of all elements in a vector

Solution

  1. Step 1: Understand the purpose of matrix()

    The matrix() function is designed to create a matrix, which is a table of values arranged in rows and columns.
  2. Step 2: Compare with other options

    Options A, B, and C describe different functions or operations unrelated to matrix creation.
  3. Final Answer:

    Creates a table of values arranged in rows and columns -> Option A
  4. Quick Check:

    matrix() creates tables = D [OK]
Hint: matrix() makes tables with rows and columns [OK]
Common Mistakes:
  • Confusing matrix() with functions that generate random numbers
  • Thinking matrix() sorts data
  • Assuming matrix() sums elements
2. Which of the following is the correct syntax to create a 2x3 matrix filled by rows with numbers 1 to 6 in R?
easy
A. matrix(1:6, nrow=3, ncol=2, byrow=TRUE)
B. matrix(1:6, nrow=2, ncol=3, byrow=TRUE)
C. matrix(1:6, nrow=2, ncol=3, byrow=FALSE)
D. matrix(1:6, nrow=3, ncol=2, byrow=FALSE)

Solution

  1. Step 1: Identify matrix dimensions and filling order

    The question asks for a 2 rows by 3 columns matrix filled by rows with numbers 1 to 6.
  2. Step 2: Match syntax to requirements

    matrix(1:6, nrow=2, ncol=3, byrow=TRUE) uses nrow=2, ncol=3, and byrow=TRUE, which matches the question exactly.
  3. Final Answer:

    matrix(1:6, nrow=2, ncol=3, byrow=TRUE) -> Option B
  4. Quick Check:

    2 rows, 3 cols, byrow=TRUE = A [OK]
Hint: Match nrow, ncol, and byrow exactly [OK]
Common Mistakes:
  • Swapping nrow and ncol values
  • Forgetting to set byrow=TRUE for row-wise filling
  • Using byrow=FALSE when row-wise fill is needed
3. What is the output of the following R code?
m <- matrix(1:6, nrow=2, ncol=3, byrow=FALSE)
print(m)
medium
A. [,1] [,2] [,3] [1,] 1 4 2 [2,] 3 5 6
B. [[1, 3, 5], [2, 4, 6]]
C. [[1, 2, 3], [4, 5, 6]]
D. [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6

Solution

  1. Step 1: Understand matrix filling by columns

    With byrow=FALSE, the matrix fills column-wise: first column gets 1 and 2, second gets 3 and 4, third gets 5 and 6.
  2. Step 2: Write matrix layout

    Row 1: 1, 3, 5
    Row 2: 2, 4, 6
  3. Final Answer:

    [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 -> Option D
  4. Quick Check:

    byrow=FALSE fills columns = A [OK]
Hint: byrow=FALSE fills columns top to bottom [OK]
Common Mistakes:
  • Assuming byrow=FALSE fills rows instead of columns
  • Mixing up row and column indices in output
  • Confusing output format with list notation
4. Identify the error in this R code that tries to create a 3x2 matrix:
matrix(1:6, nrow=3, ncol=2, byrow=TRUE, fill=TRUE)
medium
A. The argument 'fill' is not valid in matrix()
B. nrow and ncol values are swapped
C. byrow must be FALSE for this matrix size
D. 1:6 cannot fill a 3x2 matrix

Solution

  1. Step 1: Check matrix() arguments

    The matrix() function does not have a fill argument; this causes an error.
  2. Step 2: Validate other arguments

    nrow=3 and ncol=2 are valid, byrow=TRUE is allowed, and 1:6 perfectly fills a 3x2 matrix.
  3. Final Answer:

    The argument 'fill' is not valid in matrix() -> Option A
  4. Quick Check:

    Invalid argument 'fill' causes error = C [OK]
Hint: matrix() has no 'fill' argument [OK]
Common Mistakes:
  • Assuming 'fill' is a valid argument
  • Swapping nrow and ncol unnecessarily
  • Thinking byrow must be FALSE for certain sizes
5. You want to create a 4x4 matrix in R where the numbers 1 to 16 fill the matrix by rows, but every even number should be replaced by 0. Which code correctly achieves this?
hard
A. matrix(ifelse((1:16) %% 2 == 0, 0, 1:16), nrow=4, ncol=4, byrow=FALSE)
B. matrix(ifelse((1:16) %% 2 == 1, 0, 1:16), nrow=4, ncol=4, byrow=TRUE)
C. matrix(ifelse((1:16) %% 2 == 0, 0, 1:16), nrow=4, ncol=4, byrow=TRUE)
D. matrix(ifelse((1:16) %% 2 == 1, 0, 1:16), nrow=4, ncol=4, byrow=FALSE)

Solution

  1. Step 1: Replace even numbers with 0

    The expression ifelse((1:16) %% 2 == 0, 0, 1:16) replaces even numbers with 0 and keeps odd numbers as is.
  2. Step 2: Create 4x4 matrix filled by rows

    Using nrow=4, ncol=4, and byrow=TRUE fills the matrix row-wise as required.
  3. Final Answer:

    matrix(ifelse((1:16) %% 2 == 0, 0, 1:16), nrow=4, ncol=4, byrow=TRUE) -> Option C
  4. Quick Check:

    Replace evens with 0, fill by rows = B [OK]
Hint: Use ifelse() and byrow=TRUE for row-wise conditional fill [OK]
Common Mistakes:
  • Using byrow=FALSE when row-wise fill is needed
  • Replacing odd numbers instead of even
  • Not using ifelse() for conditional replacement
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