Convert a dataframe to a vector (by rows)
I have a data frame with numeric entries like this one
test <- data.frame(x = c(26, 21, 20), y = c(34, 29, 28))
How can I get the following vector?
> 26, 34, 21, 29, 20, 28
I was able to get it using the following, but I guess there should be a much more elegant way
X <- test[1, ]
for (i in 2:dim(test)[ 1 ]){
X <- cbind(X, test[i, ])
}
To convert the r dataframe to vector, you can use the as.vector function with transpose of the data frame.i.e,
test <- data.frame(x = c(26, 21, 20), y = c(34, 29, 28))
as.vector(t(test))
[1] 26 34 21 29 20 28
To convert the columns:
unlist(test)
x1 x2 x3 y1 y2 y3
26 21 20 34 29 28