[R] conversion factor into numeric

Koen Pelleriaux koen.pelleriaux at gmail.com
Fri May 6 14:34:24 CEST 2005


Robin,
It will work if you use decimal points (not comma)

HTH
Koen


On 5/6/05, Smit, R. (Robin) (IenT) <robin.smit at tno.nl> wrote:
> Thank you all for your (fast) comments.
> 
> 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
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 


-- 
Koen Pelleriaux




More information about the R-help mailing list