tyranitar tyranitar - 19 days ago 6
R Question

Using R convert data.frame to simple vector

I have this

data.frame
:

> print(v.row)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24
57 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 167 165 177 177 177 177
> dput(v.row)
structure(list(X1 = 177, X2 = 165, X3 = 177, X4 = 177, X5 = 177,
X6 = 177, X7 = 145, X8 = 132, X9 = 126, X10 = 132, X11 = 132,
X12 = 132, X13 = 126, X14 = 120, X15 = 145, X16 = 167, X17 = 167,
X18 = 167, X19 = 167, X20 = 165, X21 = 177, X22 = 177, X23 = 177,
X24 = 177), .Names = c("X1", "X2", "X3", "X4", "X5", "X6",
"X7", "X8", "X9", "X10", "X11", "X12", "X13", "X14", "X15", "X16",
"X17", "X18", "X19", "X20", "X21", "X22", "X23", "X24"), row.names = 57L, class = "data.frame")


I would remove all row and column names in order to get a simple
vector
. But the
as.vector
function doesn't work (it returns a
data.frame
).

> as.vector(v.row)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24
57 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 167 165 177 177 177 177

Answer

see ?unlist

Given a list structure x, unlist simplifies it to produce a vector which contains all the atomic components which occur in x.

unlist(v.row)
[1] 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167
       167 165 177 177 177 177

EDIT

You can do it with as.vector also, but you need to provide the correct mode:

 as.vector(v.row,mode='numeric')
 [1] 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167
      167 167 165 177 177 177 177