[R] conversion factor into numeric

Dimitris Rizopoulos dimitris.rizopoulos at med.kuleuven.ac.be
Fri May 6 14:38:57 CEST 2005

```I presume that in the place of "1,020" you need "1.02". Then use
something like this:

mass <- factor(c("800", "1,020", "1,130", "1,250"))
as.numeric(gsub(",", ".", as.character(mass)))

I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Tel: +32/16/336899
Fax: +32/16/337015
Web: http://www.med.kuleuven.ac.be/biostat/
http://www.student.kuleuven.ac.be/~m0390867/dimitris.htm

----- Original Message -----
From: "Smit, R. (Robin) (IenT)" <robin.smit at tno.nl>
To: <r-help at stat.math.ethz.ch>
Sent: Friday, May 06, 2005 2:17 PM
Subject: [R] conversion factor into numeric

>
> Unfortunately I could not make the advise work:
>
>> mass
>  [1] 800   800   800   800   800   800   800   800   800   800   800
> 800   800   800   800   800   800   800   910   910   910   910
> 910
> 910   910
> [26] 910   910   910   910   910   910   910   910   910   910   910
> 910   910   910   1,020 1,020 1,020 1,020 1,020 1,020 1,020 1,020
> 1,020
> 1,020 1,020
> [51] 1,020 1,020 1,020 1,020 1,020 1,020 1,020 1,130 1,130 1,130
> 1,130
> 1,130 1,130 1,130 1,130 1,130 1,130 1,130 1,130 1,130 1,130 1,130
> 1,130
> 1,130 1,130
> [76] 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250
> 1,250
> 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250 1,250
> 1,250
> 1,250 1,250
> [101] 1,250 1,250 1,250 1,360 1,360 1,360 1,360 1,360 1,360 1,360
> 1,360
> 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360
> 1,360
> 1,360 1,360
> [126] 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360
> 1,360
> 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360 1,360
> 1,360
> 1,360 1,360
> [151] 1,360 1,360 1,360 1,470 1,470 1,470 1,470 1,470 1,470 1,470
> 1,470
> 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470
> 1,470
> 1,470 1,470
> [176] 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470
> 1,470
> 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470 1,470
> 1,470
> 1,470 1,470
> [201] 1,470 1,470 1,470 1,590 1,590 1,590 1,590 1,590 1,590 1,590
> 1,590
> 1,590 1,590 1,590 1,590 1,590 1,590 1,590 1,590 1,590 1,590 1,590
> 1,590
> 1,590 1,810
> [226] 1,810 1,810 1,810 1,810 1,810 1,810 1,810 1,810 1,810 1,810
> 1,810
> 1,810
> Levels: 1,020 1,130 1,250 1,360 1,470 1,590 1,810 800 910
>
>> str(mass)
> Factor w/ 9 levels "1,020","1,130",..: 8 8 8 8 8 8 8 8 8 8 ...
>
>> as.numeric(as.character(mass))
>  [1] 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
> 800 800 910 910 910 910 910 910 910 910 910 910 910 910 910 910 910
> 910
> 910 910 910 910
> [39] 910  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [77]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [115]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [153]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [191]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [229]  NA  NA  NA  NA  NA  NA  NA  NA  NA
> Warning message:
> NAs introduced by coercion
>
>> as.numeric(levels(mass))[as.integer(mass)]
>  [1] 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800
> 800 800 910 910 910 910 910 910 910 910 910 910 910 910 910 910 910
> 910
> 910 910 910 910
> [39] 910  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [77]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [115]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [153]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [191]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
> NA
> NA  NA  NA  NA
> [229]  NA  NA  NA  NA  NA  NA  NA  NA  NA
> Warning message:
> NAs introduced by coercion
>
>> var.matrix\$mass <- numeric(var.matrix\$mass)
> Error in "\$<-.data.frame"(`*tmp*`, "mass", value = c(0, 0, 0, 0, 0,
> 0,
> :
>        replacement has 8 rows, data has 237
>
>
>
> Kind regards,
> Robin Smit
>
>
>
> This e-mail and its contents are subject to the DISCLAIMER at
> http://www.tno.nl/disclaimer/email.html
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help