[R] value.labels

Rolf Turner rolf.turner at xtra.co.nz
Fri Aug 12 02:24:10 CEST 2011


On 12/08/11 12:53, Heinz Tuechler wrote:
> At 12.08.2011 11:05 +1200, Rolf Turner wrote:
>> On 12/08/11 11:34, Heinz Tuechler wrote:
>>> At 12.08.2011 09:11 +1200, Rolf Turner wrote:
>>>> On 12/08/11 09:59, Heinz Tuechler wrote:
>>>>> At 11.08.2011 21:50 +0300, Zeki Çatav wrote:
>>>>>> Prş, 2011-08-11 tarihinde 19:27 +0200 saatinde, Uwe Ligges yazdı:
>>>>>> >
>>>>>> > On 11.08.2011 19:22, David Winsemius wrote:
>>>>>> > >
>>>>>> > > On Aug 11, 2011, at 11:42 AM, Uwe Ligges wrote:
>>>>>> > >
>>>>>> > >>
>>>>>> > >>
>>>>>> > >> On 11.08.2011 16:10, zcatav wrote:
>>>>>> > >>> Hello R people,
>>>>>> > >>>
>>>>>> > >>> I have a "data.frame". Status variable has 3 values. 0->alive,
>>>>>> > >>> 1->dead and
>>>>>> > >>> 2->missed..........................
>>>>>> > .........................................
>>>>>> > As I understood the question, just how to rename the levels was 
>>>>>> the
>>>>>> > original question.
>>>>>> >
>>>>>> > Uwe
>>>>>>
>>>>>> I don't want to rename levels or converting from numeric to 
>>>>>> string. I
>>>>>> want to add each corresponding levels value, a label, as in SPSS.
>>>>>> Level 0 labeled with alive,
>>>>>> level 1 labeled with dead and
>>>>>> level 2 labeled with missed.
>>>>>
>>>>> This is not possible with a factor, because factor levels can only 
>>>>> be positive integers.
>>>>
>>>> That is just plain (ridiculously) wrong. RTFM.
>>>>
>>>> cheers,
>>>>
>>>> Rolf Turner
>>>
>>> So, how would you construct a factor with levels 0, 1, 2 and labels 
>>> alive, dead, and missed, as the original post asked for?
>>>
>>> Heinz
>>
>> As I said, RTFM. But for completeness:
>>
>> x <- sample(0:2,100,TRUE)
>> y <- factor(x,labels=c("alive","dead","missed"))
>>
>> Duhhh.
>>
>> cheers,
>>
>> Rolf Turner
>
> Maybe you would like to look at the structure.
>
> str(y)
> Factor w/ 3 levels "alive","dead",..: 3 1 2 2 3 3 2 1 1 1 ...
>
> or
>
> dput(y)
> structure(c(3L, 1L, 2L, 2L, 3L, 3L, 2L, 1L, 1L, 1L, 2L, 1L, 3L,
> 1L, 2L, 3L, 2L, 2L, 1L, 3L, 1L, 3L, 1L, 3L, 1L, 2L, 1L, 2L, 1L,
> 1L, 3L, 1L, 2L, 3L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 3L,
> 2L, 1L, 2L, 3L, 3L, 2L, 1L, 1L, 2L, 3L, 3L, 2L, 1L, 3L, 1L, 1L,
> 2L, 2L, 1L, 2L, 1L, 2L, 3L, 3L, 3L, 2L, 3L, 3L, 1L, 2L, 3L, 2L,
> 3L, 1L, 3L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 3L, 2L, 2L, 1L, 1L, 1L,
> 2L, 3L, 3L, 2L, 1L, 2L, 3L), .Label = c("alive", "dead", "missed"
> ), class = "factor")
> >
>
> Anything else but positive integers?
>

You clearly do not understand factors. RTFM.

cheers,

Rolf Turner



More information about the R-help mailing list