[R] Numeric "Label" of Factor value?

Rui Barradas ruipbarradas at sapo.pt
Wed Oct 10 21:30:04 CEST 2012


Sorry, not one of my days. Forgot to Cc the list.

Rui barradas
Em 10-10-2012 20:28, Sarah Goslee escreveu:
> Sent just to me?
>
> On Wed, Oct 10, 2012 at 3:26 PM, Rui Barradas <ruipbarradas at sapo.pt> wrote:
>> You're right, apologies to the op and the list. I was thinking of the more
>> complicated
>>
>> as.numeric(levels(abc)[abc[1]])
>>
>> Rui Barradas
>> Em 10-10-2012 19:58, Sarah Goslee escreveu:
>>> Rui, that doesn't answer the question as I understood it:
>>>
>>> Your suggestion returns the numeric value of the second value of the
>>> levels:
>>>> as.numeric(levels(abc)[2])
>>> [1] 3
>>>
>>> But I read the question as wanting the numeric value of the second
>>> element of abc:
>>>> as.numeric(as.character(abc[2]))
>>> [1] 2
>>>
>>>
>>> On Wed, Oct 10, 2012 at 2:52 PM, Rui Barradas <ruipbarradas at sapo.pt>
>>> wrote:
>>>> Hello,
>>>>
>>>> Try instead
>>>>
>>>> ?levels
>>>> abc <- factor(c(2,2,3,4,7,7))
>>>> as.numeric(levels(abc)[1])
>>>>
>>>> Hope this helps,
>>>>
>>>> Rui Barradas
>>>> Em 10-10-2012 19:39, Brigid Mooney escreveu:
>>>>
>>>>> 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!
>>>>>




More information about the R-help mailing list