The drop() function in base R can be used to delete the dimensions of an array or matrix that only have one level.
The following examples show how to use this function in practice.
Example 1: Use drop() to Delete Dimensions with One Level in Array
Suppose we have the following 3-dimensional array in R:
#create 3-dimensional array my_array <- c(1:10) dim(my_array ) <- c(1,2,5) #view array my_array , , 1 [,1] [,2] [1,] 1 2 , , 2 [,1] [,2] [1,] 3 4 , , 3 [,1] [,2] [1,] 5 6 , , 4 [,1] [,2] [1,] 7 8 , , 5 [,1] [,2] [1,] 9 10
We can use the drop() function to drop the dimension that only has one level in the array:
#drop dimensions with only one level new_array <- drop(my_array) #view new array new_array [,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10
Notice that the dimension with only one level has been dropped.
We can use the dim() function to view the new dimensions:
#view dimensions of new array
dim(new_array)
[1] 2 5
We can see that the new array only has two dimensions.
Example 2: Use drop() to Delete Dimensions with One Level in Matrix
Suppose we have the following matrix with seven columns and one row in R:
#create matrix my_matrix <- matrix(1:7, ncol=7) #view matrix my_matrix [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 2 3 4 5 6 7 #view dimensions of matrix dim(my_matrix) [1] 1 7
We can use the drop() function to drop the dimension that only has one level in the matrix:
#drop dimensions with only one level new_matrix <- drop(my_matrix) #view new matrix new_matrix [1] 1 2 3 4 5 6 7
Notice that the dimension with only one level has been dropped.
The matrix has effectively been converted to a vector.
If we use the dim() function to view the dimensions, it will return NULL since the new object is no longer a matrix with two dimensions:
#view dimensions of new matrix
dim(new_matrix)
NULL
Instead, we can use length() to display the length of the vector:
#view length
length(new_matrix)
[1] 7
We can see that our vector has 7 elements in it.
Additional Resources
The following tutorials explain how to perform other common tasks in R:
How to Use the cut() Function in R
How to Use n() Function in R
How to Use nchar() Function in R