Seeing how there have been three wrong answers so far, I should point out that:

1) This is an FAQ: http://cran.r-project.org/doc/FAQ/R-FAQ.html#How- do-I-convert-factors-to-numeric_003f 2) Most of the other methods suggested so far fail if the example x used is not of the form 1:n. The only reason they happen to work, is that in that case the levels coincide with their labels.

> x<-factor(8:5)
> as.numeric(levels(x))
[1] 5 6 7 8
>
> as.numeric(x)
[1] 4 3 2 1
> class(x) <- "numeric"
> x+1
[1] 5 4 3 2
attr(,"levels")
[1] "5" "6" "7" "8"



Haris Skiadas
Department of Mathematics and Computer Science
Hanover College


On Jun 12, 2008, at 3:07 AM, anna freni sterrantino wrote:

Hi Selina,
try ?as.numeric,

 small example
 a=c(1,2,3,4,5)
 b=as.factor(a)
class(b)

c=as.numeric(b)
class(c)

in the case of a matrix of factor,try
apply(matrix,1, as.numeric)

Cheers

A.


----- Messaggio originale -----
Da: Qman Fin <[EMAIL PROTECTED]>
A: r-help@r-project.org
Inviato: Giovedì 12 giugno 2008, 8:24:08
Oggetto: [R] How to change the class of data?

Hi all,

I have some data x, which are actualy consisted of numerical enties. But the
class of this matrix is set to be "factor" by someone else. I used
"class(x)", it turns out to be "factor". So I can not calculate them.

How can I turn them into numerical data so that I can apply math operations
on them? Thanks a lot for your help.

Selina


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to