[R] How to change the class of data?
Charilaos Skiadas
cskiadas at gmail.com
Thu Jun 12 09:42:23 CEST 2008
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 <finosaur at gmail.com>
> A: r-help at 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
>
More information about the R-help
mailing list