alicia.senauer at yale.edu
2008-May-27 19:19 UTC
[R] lm() output with quantiative predictors not the same as SAS
I am trying to use R lm() with quantitative and qualitative predictors, but am getting different results than those that I get in SAS. In the R ANOVA table documentation I see that "Type-II tests corresponds to the tests produced by SAS for analysis-of-variance models, where all of the predictors are factors, but not more generally (i.e., when there are quantitative predictors)." Is this the problem? Is there a way around this so that the output matches the results that I am getting in SAS? Is there a better/more appropriate way to handle quantitative predictors? For example, output from SAS for one of my response variables: Source DF Type III SS Mean Square F Value Pr > F Treatment 5 6.92081345 1.38416269 1.17 0.3379 Plantation 2 20.67107509 10.33553754 8.73 0.0006 Treat*Plant 10 22.23762534 2.22376253 1.88 0.0718 Light 1 2.52841104 2.52841104 2.14 0.1504 Litter 1 0.25885309 0.25885309 0.22 0.6421 Output from R Df Sum Sq Mean Sq F value Pr(>F) daniela2$Treatment 5 6.982 1.396 1.1799 0.332914 daniela2$Plantation 2 18.905 9.453 7.9869 0.001013 ** daniela2$Light 1 8.037 8.037 6.7909 0.012167 * daniela2$Litter 1 1.912 1.912 1.6154 0.209860 Treatment:Plantation 10 22.238 2.224 1.8790 0.071831 . Residuals 48 56.808 1.184 For example, multivariate output from SAS for one of my predictors: Statistic Value F Value Num DF Den DF Pr > F Wilks' Lambda 0.69901456 1.18 15 127.39 0.2984 Pillai's Trace 0.32156466 1.15 15 144 0.3159 Hotelling 0.40147329 1.21 15 81.797 0.2835 Roy's GRoot 0.31281143 3.00 5 48 0.0194>From R:Df test stat approx F num Df den Df Pr(>F) Pillai 5.0000 0.401037 1.481343 15.0000 144.0000 0.1193910 Wilks 5.0000 0.636571 1.509595 15.0000 127.3871 0.1109964 Hotelling-Lawley 5.0000 0.513082 1.527844 15.0000 134.0000 0.1037152 Roy 5.0000 0.368760 3.540095 5.0000 48.0000 0.0083553 ** Thank you, Ali
Ben Bolker
2008-May-28 15:45 UTC
[R] lm() output with quantiative predictors not the same as SAS
<alicia.senauer <at> yale.edu> writes:> > I am trying to use R lm() with quantitative and qualitative predictors, but am > getting different results than those that I get in SAS. > > In the R ANOVA table documentation I see that "Type-II tests corresponds to the > tests produced by SAS for analysis-of-variance models, where all of the > predictors are factors, but not more generally (i.e., when there are > quantitative predictors)." Is this the problem? Is there a way around this so > that the output matches the results that I am getting in SAS? Is there a > better/more appropriate way to handle quantitative predictors?First of all, it looks you're using Anova, in the car package -- this is an important piece of information. Second, you're presumably (you didn't tell us exactly what commands you ran -- this is also important) using the default type="II" in Anova, vs. SAS type III sums of squares (as it says in your SAS output), so I wouldn't expect these to agree. Third, it's highly questionable whether type-III SS are appropriate here, in the presence of an interaction (Treat*Plant) -- you have violated "marginality restrictions" -- see http://www.stats.ox.ac.uk/pub/MASS3/Exegeses.pdf for example. While I understand the desire to match the output from SAS, a better set of questions is "why do these two disagree? What are they doing differently? Which one comes closer to answering the questions I am really interested in?" Ben Bolker