Convert Matrix to Data Frame in R
In this tutorial, we will learn how to convert a matrix to a data frame in R programming.
To convert Matrix to Data frame in R, use as.data.frame() function. The syntax of as.data.frame() function is
as.data.frame(x, row.names = NULL, optional = FALSE, make.names = TRUE, …, stringsAsFactors = default.stringsAsFactors())
You can also provide row names to the data frame using row.names.
Example 1 – Convert Matrix to Data Frame in R
In this example, we will take a simple scenario wherein we create a matrix and convert the matrix to a data frame.
> Mat1 = matrix(c(1, 5, 14, 23, 54, 9, 15, 85, 3, 42, 9, 7, 42, 87, 16), ncol=3) > Mat1 [,1] [,2] [,3] [1,] 1 9 9 [2,] 5 15 7 [3,] 14 85 42 [4,] 23 3 87 [5,] 54 42 16 > DF2 = as.data.frame(t(Mat1)) > DF2 V1 V2 V3 V4 V5 1 1 5 14 23 54 2 9 15 85 3 42 3 9 7 42 87 16 >
You might be quizzed that the Data frame looks like the transposed version of the Matrix. But, it is totally fine. It is just that these two data objects: matrix and data frame are represented differently.
Example 2 – Convert Matrix to Data Frame with Column Names
In this example, we create a matrix, and convert this matrix to a data frame with row names.
> Mat1 = matrix(c(1, 5, 14, 23, 54, 9, 15, 85, 3, 42, 9, 7, 42, 87, 16), ncol=3) > Mat1 [,1] [,2] [,3] [1,] 1 9 9 [2,] 5 15 7 [3,] 14 85 42 [4,] 23 3 87 [5,] 54 42 16 > DF2 = as.data.frame(t(Mat1), row.names= c('name1', 'name2', 'name3')) > DF2 V1 V2 V3 V4 V5 name1 1 5 14 23 54 name2 9 15 85 3 42 name3 9 7 42 87 16 >
Conclusion
In this R Tutorial, we have learnt to convert a matrix to a data frame, with the help of examples.