[R] Numeric "Label" of Factor value?

Sarah Goslee sarah.goslee at gmail.com
Wed Oct 10 20:48:28 CEST 2012


Hi Brigid,

as.numeric() extracts the index of the factor level, which is the way
R handles the likelihood that a factor is not actually numeric. Try:

> as.numeric(as.character(abc[1]))
[1] 2

and see also ?factor particularly the section on the interpretation of a factor.

Sarah

On Wed, Oct 10, 2012 at 2:39 PM, Brigid Mooney <bkmooney at gmail.com> wrote:
> Sorry, I'm sure I'm not using the appropriate vocab here, which is
> undoubtedly why I can't seem to find a fix to this (hopefully very
> easy) problem.
>
> Suppose you have a factor
>
> abc <- factor(c(2,2,3,4,7,7))
>
> And you want to know what the number in the nth spot in that would be
>
> abc[1]
> [1] 2
> Levels: 2 3 4 7
>
> shows the correct label of the first element - but if I want to pull
> out the numeric value of that label, I thought...
>
> as.numeric(abc[1])
>
> but that gives
> [1] 1
>
> which is the position of the label in the levels vector of the factor.
>
> Ideas?
>
> Thanks!
>
> ______________________________________________
> R-help at 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.



-- 
Sarah Goslee
http://www.stringpage.com
http://www.sarahgoslee.com
http://www.functionaldiversity.org




More information about the R-help mailing list