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.