If you are working with multidimensional data in R, you should explore Arrays. Arrays are designed to store data in more than two dimensions and represent complex data structures.
The as.array() function attempts to coerce the input object into an array structure. It handles various input types, including vectors, lists, data frames, etc.
as.array(input_obj, ...)
Name | Value |
input_obj | It is an input object that will be converted into an array based on its class. |
… | They are additional arguments depending on the class of input_obj. |
If an input object is a vector for the as.array() function, it will return a one-dimensional array.
vec <- 1:10
arr <- as.array(vec)
print(arr)
print(class(arr))
[1] 1 2 3 4 5 6 7 8 9 10
[1] "array"
You can see that we printed a one-dimensional array as well as its class, which is an “array”.
If you pass a matrix as an argument to the as.array() function, it returns the matrix as an array with two dimensions.
mat <- matrix(1:9, nrow = 3, ncol = 3)
arr_frm_mat <- as.array(mat)
print(arr_frm_mat)
print(class(arr_frm_mat))
You can see from the above figure that the matrix is now converted into a two-dimensional array. It is the same as the original input matrix.
If you want to create an array from the list, you need to be careful considering the list’s structure. If list elements have the same length, it can be converted into an array.
main_list <- list(c(11, 21, 31), c(14, 15, 16), c(71, 81, 91))
arr_frm_list <- as.array(unlist(main_list))
dim(arr_frm_list) <- c(3, 3)
print(arr_frm_list)
print(class(arr_frm_list))
In this code, we first unlist to create a vector from a list and then set the dimensions using dim() to reshape it into a 3×3 array.
If your operation requires an array and you currently have either vectors, matrices, or lists, you can create an array out of it using the as.array() function. It provides more control over dimensions and reshapes the data.
If you want to check if an input object is an array, use the is.array() function.
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.
Before executing an operation on an object, it is advisable to check its length, as…
Rounding is a process of approximating a number to a shorter, simpler, and more interpretable…
Whether you want to add new data to your existing datasets or create new variables…
The square root of a number is a value that is multiplied by itself, giving…
Duplicate rows refer to all the values across all columns that are the same in…
A vector is a data structure that holds the same type of data. When working…