[R] contr.treatments query
(Ted Harding)
Ted.Harding at manchester.ac.uk
Tue May 20 11:17:47 CEST 2008
Apologies -- I have just observed my oversight below!
Please ignore the message below.
Ted.
On 20-May-08 09:14:30, Ted Harding wrote:
> On 20-May-08 06:10:48, Prof Brian Ripley wrote:
>>>From ?contrasts
>> Usage:
>> contrasts(x, how.many) <- value
>> ...
>> how.many: How many contrasts should be made. Defaults to one less than
>> the number of levels of 'x'. This need not be the same as
>> the number of columns of 'ctr'.
>>
>> so that is 2 in your example, and it takes the first 2 of the 3 you
>> supplied.
>> (The posting guide does ask you to read the help before posting.)
>
> I had read it (and other), and it did not help me. The point of my
> query was not the fact of getting 2 columns; I was expecting that.
> The point was the difference, after
>
> N<-factor(sample(c(1,2,3),1000,replace=TRUE))
>
> between
>
> [A]
> contr.treatment(3, base=1, contrasts=TRUE)
> # 2 3
> # 1 0 0
> # 2 1 0
> # 3 0 1
>
> i.e. omitting "level 1" as implied by
>
> "contr <- contr[, -base, drop = FALSE]"
>
> in the code for contr.treatment(), and the result of
>
> [B]
> contrasts(N)<-contr.treatment(3, base=1, contrasts=FALSE)
> contrasts(N)
> # 1 2
> # 1 1 0
> # 2 0 1
> # 3 0 0
>
> i.e. omitting "level 3", despite having had the contrasts
> assigned from exactly the same expression as in [A].
>
> Possibly Bill Venables' comments may contain the clue;
> but I would need to experiment to see whether that it is
> fact the root cause.
>
> With thanks,
> Ted.
>
>> On Tue, 20 May 2008, Ted.Harding at manchester.ac.uk wrote:
>>
>>> Hi Folks,
>>> I'm a bit puzzled by the following (example):
>>>
>>> N<-factor(sample(c(1,2,3),1000,replace=TRUE))
>>> unique(N)
>>> # [1] 3 2 1
>>> # Levels: 1 2 3
>>>
>>> So far so good. Now:
>>>
>>> contrasts(N)<-contr.treatment(3, base=1, contrasts=FALSE)
>>> contrasts(N)
>>> # 1 2
>>> # 1 1 0
>>> # 2 0 1
>>> # 3 0 0
>>>
>>> whereas:
>>>
>>> contr.treatment(3, base=1, contrasts=FALSE)
>>> # 1 2 3
>>> # 1 1 0 0
>>> # 2 0 1 0
>>> # 3 0 0 1
>>>
>>> contr.treatment(3, base=1, contrasts=TRUE)
>>> # 2 3
>>> # 1 0 0
>>> # 2 1 0
>>> # 3 0 1
>>>
>>> I can follow the last two fine -- they are what is implied
>>> by the code for contr.treatment().
>>>
>>> Likewise:
>>>
>>> contrasts(factor(Nlevs <-c(1,2,3)))
>>> # 2 3
>>> # 1 0 0
>>> # 2 1 0
>>> # 3 0 1
>>>
>>> But why the different result when applied to N?
>>>
>>> With thanks,
>>> Ted.
>>>
>>> --------------------------------------------------------------------
>>> E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
>>> Fax-to-email: +44 (0)870 094 0861
>>> Date: 20-May-08 Time: 01:12:30
>>> ------------------------------ XFMail ------------------------------
>>>
>>> ______________________________________________
>>> 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.
>>>
>>
>> --
>> Brian D. Ripley, ripley at stats.ox.ac.uk
>> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford, Tel: +44 1865 272861 (self)
>> 1 South Parks Road, +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK Fax: +44 1865 272595
>>
>> ______________________________________________
>> 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.
>
> --------------------------------------------------------------------
> E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
> Fax-to-email: +44 (0)870 094 0861
> Date: 20-May-08 Time: 10:14:26
> ------------------------------ XFMail ------------------------------
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 20-May-08 Time: 10:17:44
------------------------------ XFMail ------------------------------
More information about the R-help
mailing list