On Fri, 4 Dec 2009, Peng Yu wrote:

On Fri, Dec 4, 2009 at 12:18 PM, Charles C. Berry <cbe...@tajo.ucsd.edu> wrote:
On Fri, 4 Dec 2009, Peng Yu wrote:

On Tue, Dec 1, 2009 at 4:04 PM, Charles C. Berry <cbe...@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?


Look at the graphs, please. They are linear basis functions for polynomials. Construct a third order polynomial in x <- 1:20 (say) then fit it with poly( x , degree=1), poly ( x, degree =2 ) , ..., poly( x, degree=19 ). Compare the predict() ed values of each to the actual polynomial. Study the coefficients.


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?


Well, it is literally the coefficient of

        model.matrix(afit)[, 'x1b' ]

and you can see from inspection of that matrix where it figures in.

And/or you can do some plots like:


        repl1 <- aframe$x3==1 # just one replicate
        matplot( 1:sum(repl1),
                 predict(afit)[repl1] +
                  outer(model.matrix(afit)[repl1,'x1b'],-1:1),
                pch="-o+")

to get a sense of how that coefficient affects the means of the different groups.

As to what it 'means', in many discussions one does not mention that coefficient nor test it if interactions that involve it are present. Its status is much like the intercept in the main effects only model in the sense that it is not of much interest by itself, but its absence ( \equiv setting its coefficient to zero) usually implies an unwanted and unnatural constraint.


Chuck


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@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:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901



______________________________________________
R-help@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:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
R-help@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.

Reply via email to