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, [EMAIL PROTECTED] 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

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to