[R] How to compute contrast where there are interaction terms in the linear model?

Peng Yu pengyu.ut at gmail.com
Fri Dec 4 22:43:14 CET 2009


On Fri, Dec 4, 2009 at 12:18 PM, Charles C. Berry <cberry at tajo.ucsd.edu> wrote:
> On Fri, 4 Dec 2009, Peng Yu wrote:
>
>> On Tue, Dec 1, 2009 at 4:04 PM, Charles C. Berry <cberry at tajo.ucsd.edu>
>> wrote:
>>>
>>> On Tue, 1 Dec 2009, Peng Yu wrote:
>>>
>>>> Could somebody recommend some textbook how to compute contrast when
>>>> there are interactions terms? "Applied Linear Regression Models"
>>>> (book) mentioned contrast, but I cannot extend it to the case where
>>>> there are interaction terms.
>>>
>>>
>>> Textbook? Schmextbook!
>>>
>>> You have the power of R at your fingertips!
>>>
>>> Use it to explore concepts you are trying to wrap your brain around!
>>>
>>>
>>>> df <- expand.grid(x1=1:20,x2=factor(letters[1:2]))
>>>> vanilla <- model.matrix(~0+poly(x1,degree=3), df )
>>>> matplot(row( vanilla) , vanilla, type='b')
>>>> inter <-  model.matrix(~0+poly(x1,degree=3):x2, df )
>>>> matplot(row( inter ) , inter, type='b')
>>
>> I don't understand. Where the contrast is?

I don't understand what polynomial contrasts are. Would you please
help me understand?

May I ask you the following question to understand contrasts in a
simpler examples?

In the following example, I fit formula Y~x1+x2 and Y~x1*x2.

For Y~x1+x2, I understand that coefficients(afit)['x1b'] is the
contrast between the factor mean of a and the factor mean of b.

But for Y~x1*x2, since there are the interaction terms, I'm not sure
if it makes sense to compare the levels of a and b. Would you please
let me know what coefficients(afit)['x1b'] means in this case?


> n=3
> aframe=expand.grid(x1=c('a','b'),x2=c('u','v','w'),x3=1:n)
>
> set.seed(0)
> Y=rnorm(dim(aframe)[[1]])
> aframe=cbind(aframe,Y)
>
> afit=aov(Y~x1+x2, aframe)
> coefficients(afit)
(Intercept)         x1b         x2v         x2w
-0.14740700 -0.27974772  1.00234567 -0.01278949
>
> afit=aov(Y~x1*x2, aframe)
> coefficients(afit)
(Intercept)         x1b         x2v         x2w     x1b:x2v     x1b:x2w
-0.27108992 -0.03238187  0.61269558  0.74790937  0.77930018 -1.52139771


> The numbered curves are the terms of polynomial contrasts.
>
> See
>
>        ?poly
>        ?contr.poly
> and note
>
>        all( contr.poly(5) == poly(1:5,degree=4) )
>
>
>
>
>>
>> BTW, what does 'schmextbook' mean?
>>
>
> Well, repeating a word and prepending 'schm' (in place of the initial
> consonant sound, if any) is a slang idiom for asserting low regard for the
> idea expressed by the word.
>
> As in 'Birthday-Schmirthday' when moaning about getting older:
>
>
>  http://www.berkeleydailyplanet.com/issue/2009-01-29/article/32134?headline=First-Person-Birthday-Schmirthday-Whinings-on-Mortality
>
>
> or  'Middle-schmiddle' which expresses low regard for the 'middle' policy,
> see
>
>        http://aussiethule.blogspot.com/2006/03/olmerts-middle-schmiddle.html
>
> Or 'Nilsson-Schmilsson', a self-deprecating title for an album by Harry
> Nilsson:
>
>        http://en.wikipedia.org/wiki/Nilsson_Schmilsson
>
> Or 'textbook-schmextbook', in which I express the idea that a textbook
> really isn't needed.
>
> Chuck
>
>> ______________________________________________
>> 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.
>>
>
> Charles C. Berry                            (858) 534-2098
>                                            Dept of Family/Preventive
> Medicine
> E mailto:cberry at tajo.ucsd.edu               UC San Diego
> http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901
>
>




More information about the R-help mailing list