data.frame into vector
A data frame is a list, and a list is a vector. Once you understand that, yoy may understand what you are seeing. as.matrix(x)[1,] seems to be one of the easiest ways to get what you want
On Tue, 23 Nov 2004, Tiago R Magalhaes wrote:
Hi
I want to extract a row from a data.frame but I want that object to be a
vector . After trying some different ways I end up always with a data.frame
or with the wrong vector. Any pointers?
x <- data.frame(a = factor(c('a',2,'b')), b = c(4,5,6))
I want to get
"a" "4"
I tried:
as.vector(x[1,])
a b
1 a 4
(resulting in a data.frame even after in my mind having coerced it into a
vector!)
as.vector(c[1,], numeric='character')
Eh? I get an error there.
[1] "2" "4" (almost what I want, except that "2" instead of "a" - I guess this as to do with levels and factors)
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595