Matrix dimensions tell you how many rows and columns a matrix has. This helps you understand its size and shape.
When you want to check the size of a matrix before doing calculations.
When you need to loop through rows or columns of a matrix.
When you want to make sure two matrices can be multiplied together.
When you want to reshape or modify a matrix based on its size.
Syntax
R Programming
dim(matrix_name)
The dim() function returns a vector with two numbers: number of rows and number of columns.
If the object is not a matrix or array, dim() may return NULL.
Examples
This creates a 2 by 3 matrix and then shows its dimensions.
R Programming
m <- matrix(1:6, nrow=2, ncol=3)
dim(m)
Here, the matrix has 3 rows and 3 columns (since 9 elements fill 3 columns automatically).
R Programming
m <- matrix(1:9, nrow=3)
dim(m)
A vector has no dimensions, so dim() returns NULL.
R Programming
v <- c(1,2,3)
dim(v)
Sample Program
This program creates a 3 by 4 matrix, gets its dimensions, and prints the number of rows and columns.
R Programming
m <- matrix(1:12, nrow=3, ncol=4)
d <- dim(m)
print(paste("Rows:", d[1]))
print(paste("Columns:", d[2]))
OutputSuccess
Important Notes
You can also use nrow() and ncol() to get rows and columns separately.
Knowing matrix dimensions helps avoid errors in matrix operations like multiplication.
Summary
Matrix dimensions tell you the number of rows and columns.
Use dim() to get both rows and columns at once.
Dimensions help you work safely with matrices in R.
Practice
(1/5)
1. What does the dim() function return when used on a matrix in R?
easy
A. The first element of the matrix
B. The sum of all elements in the matrix
C. A vector with the number of rows and columns
D. The matrix converted to a vector
Solution
Step 1: Understand the purpose of dim()
The dim() function in R returns the dimensions of an object, typically a matrix or array.
Step 2: What does it return for a matrix?
For a matrix, dim() returns a vector of length two: the number of rows and the number of columns.
Final Answer:
A vector with the number of rows and columns -> Option C
Quick Check:
dim(matrix) = c(rows, columns) [OK]
Hint: Remember dim() gives rows and columns together [OK]
Common Mistakes:
Thinking dim() returns sum of elements
Confusing dim() with length()
Expecting dim() to return matrix elements
2. Which of the following is the correct way to create a 3x2 matrix in R?
easy
A. matrix(1:6, nrow=3, ncol=2)
B. matrix(1:6, nrow=2, ncol=3)
C. matrix(1:6, rows=3, cols=2)
D. matrix(1:6, 3, 2, byrow=TRUE)
Solution
Step 1: Check the matrix function parameters
The matrix() function uses nrow and ncol to specify rows and columns.
Step 2: Identify correct parameter names and values
matrix(1:6, nrow=3, ncol=2) uses nrow=3 and ncol=2, which correctly creates a 3-row, 2-column matrix.
Final Answer:
matrix(1:6, nrow=3, ncol=2) -> Option A
Quick Check:
Use nrow and ncol to set dimensions [OK]
Hint: Use nrow and ncol to set matrix size [OK]
Common Mistakes:
Using wrong parameter names like rows or cols
Swapping nrow and ncol values
Omitting parameter names causing confusion
3. What is the output of the following R code?
m <- matrix(1:12, nrow=3, ncol=4)
dim(m)
medium
A. [1] 12
B. [1] 4 3
C. [1] 3
D. [1] 3 4
Solution
Step 1: Understand matrix creation
The matrix m is created with 3 rows and 4 columns using nrow=3 and ncol=4.
Step 2: Check the output of dim(m)
The dim() function returns a vector with the number of rows and columns, so it returns 3 4.
Final Answer:
[1] 3 4 -> Option D
Quick Check:
dim(m) = c(3, 4) [OK]
Hint: dim() returns rows then columns vector [OK]
Common Mistakes:
Confusing order of rows and columns
Expecting dim() to return total elements
Misreading output as a single number
4. Identify the error in this R code snippet:
m <- matrix(1:9, nrow=3, ncol=3)
dim(m) <- c(2, 5)
medium
A. The code is correct and runs without error
B. You cannot assign dimensions that don't match the number of elements
C. dim() cannot be used on matrices
D. The matrix function is missing the byrow argument
Solution
Step 1: Check the original matrix size
The matrix m has 9 elements (3 rows x 3 columns).
Step 2: Analyze the dimension assignment
Assigning dim(m) <- c(2, 5) tries to reshape m to 2 rows and 5 columns, which requires 10 elements, not 9.
Final Answer:
You cannot assign dimensions that don't match the number of elements -> Option B
Quick Check:
New dims must match total elements [OK]
Hint: New dimensions must multiply to total elements [OK]
Common Mistakes:
Ignoring element count mismatch
Thinking dim() cannot be assigned
Assuming byrow affects dimension assignment
5. You have a matrix m with dimensions 4x5. You want to reshape it into a matrix with 5 rows. Which of the following commands correctly changes the dimensions without losing data?
hard
A. dim(m) <- c(5, 4)
B. dim(m) <- c(5, 5)
C. dim(m) <- c(5, 3)
D. dim(m) <- c(5, 2)
Solution
Step 1: Calculate total elements in original matrix
The original matrix has 4 rows x 5 columns = 20 elements.
Step 2: Check which new dimension matches total elements
dim(m) <- c(5, 4) sets dimensions to 5 rows and 4 columns, which is 20 elements, matching original size.
Step 3: Verify other options
Options B, C, and D have total elements 25, 15, and 10 respectively, which do not match 20, causing errors or data loss.
Final Answer:
dim(m) <- c(5, 4) -> Option A
Quick Check:
New dims must multiply to 20 [OK]
Hint: New rows x new cols = total elements [OK]
Common Mistakes:
Choosing dimensions that don't match total elements
Swapping rows and columns incorrectly
Forgetting to check total element count
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.