The is.matrix() is a built-in R function that checks whether an input object is a matrix. It returns TRUE if the object is a matrix and FALSE otherwise.
To prevent unexpected errors, you need to check if the input object is a matrix, and that’s where we need this function. It makes our code more predictable and reliable.
is.matrix(obj)
Name | Value |
obj | It is an input variable that will be checked for a matrix. |
Let’s define a 3X3 matrix.
mat <- matrix(1:9, nrow = 3, ncol = 3)
mat # 3x3 matrix
is.matrix(mat) # TRUE
Output
If you pass a vector as an argument, it will return FALSE.
vec <- c(1, 2, 3)
is.matrix(vec) # FALSE
Conditional statements like “if” can be used with is.matrix() function to check if it is a matrix, and if yes, then we can use the “apply()” function to it.
mat <- matrix(1:9, nrow = 3, ncol = 3)
col_means <- function(mtrx) {
if (!is.matrix(mtrx)) {
stop("Input must be a matrix")
}
apply(mtrx, 2, mean)
}
col_means(mat)
Output
[1] 2 5 8
Since the input object is a matrix, we used the apply() function to get the mean of each column.
If the input object is not a matrix, it stops and prints an error message.
NA represents missing values, and missing values can be anything. If a matrix contains NA values, is.matrix() function returns TRUE.
mat_with_na <- matrix(c(19, 21, NA, 10), nrow = 2)
is.matrix(mat_with_na) # TRUE
If you pass the NA value to this function, it returns FALSE.
na_val <- NA
is.matrix(na_val) # FALSE
NaN represents undefined numerical results. (e.g., 0/0, Inf – Inf). If a matrix contains NaN, it still returns TRUE.
mat_with_nan <- matrix(c(19, 21, NaN, 10), nrow = 2)
is.matrix(mat_with_nan) # TRUE
If you pass the NaN value to this function, it returns FALSE.
nan_val <- NaN
is.matrix(nan_val) # FALSE
That’s all!
Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.
R vectors are atomic, which means they have homogeneous data types. They are contiguous in…
DataFrames are like tables that contain rows and columns. Each column can have a different…
Dates in R are stored as the number of days since 1970-01-01, so converting a…
In R, you can think of a vector as a series of values in a…
The dplyr filter() function in R subsets a data frame and retains all rows that…
The dplyr::distinct() function in R removes duplicate rows from a data frame or tibble and keeps…