[R] Extra Sums of Squares from an anova table - why are the values different?

Stephen Sefick ssefick at gmail.com
Wed Oct 26 21:55:13 CEST 2011


I was referring to the 3rd decimal place and beyond.  Thanks that did 
the trick.  I was trying to compare the two to make sure that I knew how 
to do it by hand.  Thanks for all of your help.

Stephen

On Wed 26 Oct 2011 02:23:02 PM CDT, Joshua Wiley wrote:
>
> Hi Stephen,
>
> Thanks for the disclosure. If you are referring to the difference in
> the third decimal place between your calculated F value and what R
> gives, yes, it is due to rounding. Try this:
>
> ## extract the mean squares from anova() and store in msq
> msq<- anova(x.lm)[, "Mean Sq"]
>
> mean(msq[4:9])/msq[10]
>
> Cheers,
>
> Josh
>
> On Wed, Oct 26, 2011 at 11:19 AM, Stephen Sefick<ssefick at gmail.com> wrote:
>>
>> #For full disclosure- I am working on a homework problem. However, my
>> question revolves around computer rounding, I think.
>>
>>
>> x<- (structure(list(y = c(0.222, 0.395, 0.422, 0.437, 0.428, 0.467,
>> 0.444, 0.378, 0.494, 0.456, 0.452, 0.112, 0.432, 0.101, 0.232,
>> 0.306, 0.0923, 0.116, 0.0764, 0.439, 0.0944, 0.117, 0.0726, 0.0412,
>> 0.251, 2e-05), x1 = c(7.3, 8.7, 8.8, 8.1, 9, 8.7, 9.3, 7.6, 10,
>> 8.4, 9.3, 7.7, 9.8, 7.3, 8.5, 9.5, 7.4, 7.8, 7.7, 10.3, 7.8,
>> 7.1, 7.7, 7.4, 7.3, 7.6), x2 = c(0, 0, 0.7, 4, 0.5, 1.5, 2.1,
>> 5.1, 0, 3.7, 3.6, 2.8, 4.2, 2.5, 2, 2.5, 2.8, 2.8, 3, 1.7, 3.3,
>> 3.9, 4.3, 6, 2, 7.8), x3 = c(0, 0.3, 1, 0.2, 1, 2.8, 1, 3.4,
>> 0.3, 4.1, 2, 7.1, 2, 6.8, 6.6, 5, 7.8, 7.7, 8, 4.2, 8.5, 6.6,
>> 9.5, 10.9, 5.2, 20.7), x11 = c(53.29, 75.69, 77.44, 65.61, 81,
>> 75.69, 86.49, 57.76, 100, 70.56, 86.49, 59.29, 96.04, 53.29,
>> 72.25, 90.25, 54.76, 60.84, 59.29, 106.09, 60.84, 50.41, 59.29,
>> 54.76, 53.29, 57.76), x22 = c(0, 0, 0.49, 16, 0.25, 2.25, 4.41,
>> 26.01, 0, 13.69, 12.96, 7.84, 17.64, 6.25, 4, 6.25, 7.84, 7.84,
>> 9, 2.89, 10.89, 15.21, 18.49, 36, 4, 60.84), x33 = c(0, 0.09,
>> 1, 0.04, 1, 7.84, 1, 11.56, 0.09, 16.81, 4, 50.41, 4, 46.24,
>> 43.56, 25, 60.84, 59.29, 64, 17.64, 72.25, 43.56, 90.25, 118.81,
>> 27.04, 428.49), x12 = c(0, 0, 6.16, 32.4, 4.5, 13.05, 19.53,
>> 38.76, 0, 31.08, 33.48, 21.56, 41.16, 18.25, 17, 23.75, 20.72,
>> 21.84, 23.1, 17.51, 25.74, 27.69, 33.11, 44.4, 14.6, 59.28),
>> x13 = c(0, 2.61, 8.8, 1.62, 9, 24.36, 9.3, 25.84, 3, 34.44,
>> 18.6, 54.67, 19.6, 49.64, 56.1, 47.5, 57.72, 60.06, 61.6,
>> 43.26, 66.3, 46.86, 73.15, 80.66, 37.96, 157.32), x23 = c(0,
>> 0, 0.7, 0.8, 0.5, 4.2, 2.1, 17.34, 0, 15.17, 7.2, 19.88,
>> 8.4, 17, 13.2, 12.5, 21.84, 21.56, 24, 7.14, 28.05, 25.74,
>> 40.85, 65.4, 10.4, 161.46)), .Names = c("y", "x1", "x2",
>> "x3", "x11", "x22", "x33", "x12", "x13", "x23"), row.names = c(NA,
>> -26L), class = "data.frame")
>> )
>>
>> x$x11<- x$x1^2
>> x$x22<- x$x2^2
>> x$x33<- x$x3^2
>> x$x12<- x$x1*x$x2
>> x$x13<- x$x1*x$x3
>> x$x23<- x$x2*x$x3
>>
>> x.lm<- lm(y~x1+x2+x3+x11+x22+x33+x12+x13+x23, data=x)
>>
>> anova(lm(y~x1+x2+x3,data=x), x.lm)
>>
>> anova(x.lm)
>>
>> #I want to test
>>
>> #Ho:y~x1+x2+x3
>> #Ha:y~x1+x2+x3+x11+x22+x33+x12+x13+x23
>>
>> ((0.00945+0.01340+0.00200+0.00568+0.00489+0.00050)/6)/(0.00371)
>>
>> #Thanks
>>
>> #Stephen Sefick
>>
>> ______________________________________________
>> 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.
>>
>
>
>
>



More information about the R-help mailing list