rab
2004-Aug-01 16:14 UTC
[R] Strange Problem with "proj" and "aov" for split-plot analysis output
I'm using R 1.8.1 on Red Hat Linux 9. I've worked out the linear model decomposition by hand. Using "aov" with "Error" to fit a split-plot model, I get very different results depending on whether I use the "data" argument for "aov" or not. When I use the "data" argument, the ANOVA table from "summary" is correct but the results "proj" are comletely wrong (in particular, the residuals for both strata). The same with the results from "model.tables" for effects and even means. However, if I attach the data frame and I don't use the "data" argument with "aov", the results for everything appear to be correct and agrees completely with the manual decomposition. (The sums of squares based on the components in the decomposition table agree completely with the "summary" of the "aov" object.) Is this a known problem? I also tried this on the Montana Rweb site and obtained the same incorrect results when usign the "data" argument. I've checked to make sure that the vector object names are not used outside of the data frame for the experiment data on my computer. There is no way this could happen when using Rweb. Rick B. Here are the details: # here is the experiment data > choco.split.04 subject brand ctime type 1 christian h 104.000 mc 3 christina h 33.500 mc 5 ERIN h 46.000 mc 7 gautam h 25.295 mc 11 joe h 75.000 mc 15 Lei h 44.500 mc 9 helen n 42.500 mc 13 jonathon n 55.500 mc 17 pablo n 47.000 mc 19 purin n 97.000 mc 21 scott n 85.000 mc 23 vince n 65.850 mc 2 christian h 168.000 wc 4 christina h 37.500 wc 6 ERIN h 45.500 wc 8 gautam h 28.860 wc 12 joe h 70.000 wc 16 Lei h 52.500 wc 10 helen n 57.500 wc 14 jonathon n 46.000 wc 18 pablo n 58.000 wc 20 purin n 113.000 wc 22 scott n 97.500 wc 24 vince n 89.650 wc # data as an R object choco.split.04 <- structure(list(subject = structure(c(1, 2, 3, 4, 6, 8, 5, 7, 9, 10, 11, 12, 1, 2, 3, 4, 6, 8, 5, 7, 9, 10, 11, 12), class = "factor", .Label = c("christian", "christina", "ERIN", "gautam", "helen", "joe", "jonathon", "Lei", "pablo", "purin", "scott", "vince")), brand = structure(c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2), class = "factor", .Label = c("h", "n")), ctime = c(104, 33.5, 46, 25.295, 75, 44.5, 42.5, 55.5, 47, 97, 85, 65.85, 168, 37.5, 45.5, 28.86, 70, 52.5, 57.5, 46, 58, 113, 97.5, 89.65), type = structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), class = "factor", .Label = c("mc", "wc"))), .Names = c("subject", "brand", "ctime", "type"), row.names = c("1", "3", "5", "7", "11", "15", "9", "13", "17", "19", "21", "23", "2", "4", "6", "8", "12", "16", "10", "14", "18", "20", "22", "24"), class = "data.frame") # split-plot analysis - using "aov" with argument "data" > summary(aov.split.04 <- aov(ctime~brand*type+Error(subject),data=choco.split.04)) Error: subject Df Sum Sq Mean Sq F value Pr(>F) brand 1 639.1 639.1 0.2972 0.5976 Residuals 10 21503.3 2150.3 Error: Within Df Sum Sq Mean Sq F value Pr(>F) type 1 850.43 850.43 4.3326 0.06404 . brand:type 1 1.16 1.16 0.0059 0.94037 Residuals 10 1962.86 196.29 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 # here is the "proj" output - and it's all completely wrong > proj(aov.split.04) (Intercept) : (Intercept) 1 66.04813 3 66.04813 5 66.04813 7 66.04813 11 66.04813 15 66.04813 9 66.04813 13 66.04813 17 66.04813 19 66.04813 21 66.04813 23 66.04813 2 66.04813 4 66.04813 6 66.04813 8 66.04813 12 66.04813 16 66.04813 10 66.04813 14 66.04813 18 66.04813 20 66.04813 22 66.04813 24 66.04813 attr(,"df") attr(,"df")$df (Intercept) 1 attr(,"onedf") attr(,"onedf")$onedf [1] FALSE attr(,"factors") attr(,"factors")$"(Intercept)" [1] "(Intercept)" subject : brand Residuals 1 -1.15279697 -50.326456 3 -1.49365647 -53.795729 5 7.94608934 -2.679088 7 -9.57184562 9.110149 11 8.31691964 31.336764 15 0.08387137 -8.782543 9 11.06119883 45.752063 13 -7.01978726 25.900087 17 -0.10587652 3.956638 19 -0.09918658 3.706633 21 -0.09353078 3.495274 23 -0.08867137 3.313676 2 -2.17537547 88.387613 4 -1.83451597 -0.519157 6 11.33663826 -52.337849 8 -4.60767598 7.731579 12 -6.06482008 -35.264686 16 -0.08387137 8.782543 10 1.75243781 -10.962735 14 -6.49281005 -2.332554 18 0.10587652 -3.956638 20 0.09918658 -3.706633 22 0.09353078 -3.495274 24 0.08867137 -3.313676 attr(,"df") attr(,"df")$df brand Residuals 1 10 attr(,"onedf") attr(,"onedf")$onedf [1] FALSE attr(,"factors") attr(,"factors")$brand [1] "brand" attr(,"factors")$Residuals [1] "subject" Within : type brand:type Residuals 1 1.396984343 0.04496907 3.011473 3 2.938588912 0.05656711 2.953101 5 3.145124762 0.05812095 2.945280 7 3.247625778 0.05889210 2.941399 11 -3.328231709 -0.22912276 5.730411 15 -2.538082170 -0.31105255 -25.391330 9 4.266448221 0.08884555 3.630619 13 -3.992792267 -0.27283438 3.666296 17 -10.936223358 -0.46063495 6.604985 19 -9.099857196 0.13554870 10.373726 21 -12.073986774 0.35505329 -3.922691 23 -12.879482604 0.38872464 -8.547527 2 6.021798052 0.07976318 2.836355 4 4.480193482 0.06816515 2.894728 6 4.273657632 0.06661130 2.902548 8 4.171156617 0.06584015 2.906430 12 -1.324148016 -0.18585237 6.575126 16 5.418913496 0.02243897 -28.523763 10 3.152334173 0.03588670 2.217210 14 9.399714308 0.30761541 3.257817 18 5.342284161 -0.47550361 -1.871322 20 -1.793920282 0.15803004 -5.774710 22 0.713084037 -0.03900621 2.788084 24 -0.001183597 -0.01706548 5.795756 attr(,"df") attr(,"df")$df type brand:type Residuals 1 1 10 attr(,"onedf") attr(,"onedf")$onedf [1] FALSE attr(,"factors") attr(,"factors")$type [1] "type" attr(,"factors")$"brand:type" [1] "brand" "type" attr(,"factors")$Residuals [1] "subject" "Within" # here is the "model.tables" output - and it's all completely wrong > model.tables(aov.split.04) Tables of effects brand h n 0.05825 -0.05825 rep 12.00000 12.00000 type mc wc -3.321 3.321 rep 12.000 12.000 brand:type type brand mc wc h -0.054 0.019 rep 6.000 6.000 n 0.039 -0.005 rep 6.000 6.000 # here is "aov" without "data" argument - looks the same as before > attach(choco.split.04) > summary(aov.split.04 <- aov(ctime~brand*type+Error(subject))) Error: subject Df Sum Sq Mean Sq F value Pr(>F) brand 1 639.1 639.1 0.2972 0.5976 Residuals 10 21503.3 2150.3 Error: Within Df Sum Sq Mean Sq F value Pr(>F) type 1 850.43 850.43 4.3326 0.06404 . brand:type 1 1.16 1.16 0.0059 0.94037 Residuals 10 1962.86 196.29 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 # here is the "proj" output and it's correct # as shown by manual decomposition > proj(aov.split.04) (Intercept) : (Intercept) 1 66.04813 2 66.04813 3 66.04813 4 66.04813 5 66.04813 6 66.04813 7 66.04813 8 66.04813 9 66.04813 10 66.04813 11 66.04813 12 66.04813 13 66.04813 14 66.04813 15 66.04813 16 66.04813 17 66.04813 18 66.04813 19 66.04813 20 66.04813 21 66.04813 22 66.04813 23 66.04813 24 66.04813 attr(,"df") attr(,"df")$df (Intercept) 1 attr(,"onedf") attr(,"onedf")$onedf [1] FALSE attr(,"factors") attr(,"factors")$"(Intercept)" [1] "(Intercept)" subject : brand Residuals 1 -5.160208 75.112083 2 -5.160208 -25.387917 3 -5.160208 -15.137917 4 -5.160208 -33.810417 5 -5.160208 11.612083 6 -5.160208 -12.387917 7 5.160208 -21.208333 8 5.160208 -20.458333 9 5.160208 -18.708333 10 5.160208 33.791667 11 5.160208 20.041667 12 5.160208 6.541667 13 -5.160208 75.112083 14 -5.160208 -25.387917 15 -5.160208 -15.137917 16 -5.160208 -33.810417 17 -5.160208 11.612083 18 -5.160208 -12.387917 19 5.160208 -21.208333 20 5.160208 -20.458333 21 5.160208 -18.708333 22 5.160208 33.791667 23 5.160208 20.041667 24 5.160208 6.541667 attr(,"df") attr(,"df")$df brand Residuals 1 10 attr(,"onedf") attr(,"onedf")$onedf [1] FALSE attr(,"factors") attr(,"factors")$brand [1] "brand" attr(,"factors")$Residuals [1] "subject" Within : type brand:type Residuals 1 -5.952708 -0.219375 -25.8279167 2 -5.952708 -0.219375 4.1720833 3 -5.952708 -0.219375 6.4220833 4 -5.952708 -0.219375 4.3895833 5 -5.952708 -0.219375 8.6720833 6 -5.952708 -0.219375 2.1720833 7 -5.952708 0.219375 -1.7666667 8 -5.952708 0.219375 10.4833333 9 -5.952708 0.219375 0.2333333 10 -5.952708 0.219375 -2.2666667 11 -5.952708 0.219375 -0.5166667 12 -5.952708 0.219375 -6.1666667 13 5.952708 0.219375 25.8279167 14 5.952708 0.219375 -4.1720833 15 5.952708 0.219375 -6.4220833 16 5.952708 0.219375 -4.3895833 17 5.952708 0.219375 -8.6720833 18 5.952708 0.219375 -2.1720833 19 5.952708 -0.219375 1.7666667 20 5.952708 -0.219375 -10.4833333 21 5.952708 -0.219375 -0.2333333 22 5.952708 -0.219375 2.2666667 23 5.952708 -0.219375 0.5166667 24 5.952708 -0.219375 6.1666667 attr(,"df") attr(,"df")$df type brand:type Residuals 1 1 10 attr(,"onedf") attr(,"onedf")$onedf [1] FALSE attr(,"factors") attr(,"factors")$type [1] "type" attr(,"factors")$"brand:type" [1] "brand" "type" attr(,"factors")$Residuals [1] "subject" "Within" # here is "model.tables" output and it's correct > model.tables(aov.split.04) Tables of effects brand h n -5.16 5.16 rep 12.00 12.00 type mc wc -5.953 5.953 rep 12.000 12.000 brand:type type brand mc wc h -0.219 0.219 rep 6.000 6.000 n 0.219 -0.219 rep 6.000 6.000 # version information > R.Version() $platform [1] "i686-pc-linux-gnu" $arch [1] "i686" $os [1] "linux-gnu" $system [1] "i686, linux-gnu" $status [1] "" $major [1] "1" $minor [1] "8.1" $year [1] "2003" $month [1] "11" $day [1] "21" $language [1] "R"
Jim Brennan
2004-Aug-01 17:48 UTC
[R] Strange Problem with "proj" and "aov" for split-plot analysisoutput
For what it is worth I have repeated this in R version 1.9 with the same results. Looks like the only the calls are different. Call: aov(formula = ctime ~ brand * type + Error(subject), data = choco.split.04) and with data fram attached Call: aov(formula = ctime ~ brand * type + Error(subject)) and for some reason giving different results when put into proj Jim ----- Original Message ----- From: "rab" <rab at nauticom.net> To: <r-help at stat.math.ethz.ch> Sent: Sunday, August 01, 2004 12:14 PM Subject: [R] Strange Problem with "proj" and "aov" for split-plot analysisoutput> I'm using R 1.8.1 on Red Hat Linux 9. I've worked out the linear model > decomposition by hand. Using "aov" with "Error" to fit a split-plot > model, I get very different results depending on whether I use the > "data" argument for "aov" or not. When I use the "data" argument, the > ANOVA table from "summary" is correct but the results "proj" are > comletely wrong (in particular, the residuals for both strata). The same > with the results from "model.tables" for effects and even means. > However, if I attach the data frame and I don't use the "data" argument > with "aov", the results for everything appear to be correct and agrees > completely with the manual decomposition. (The sums of squares based on > the components in the decomposition table agree completely with the > "summary" of the "aov" object.) Is this a known problem? I also tried > this on the Montana Rweb site and obtained the same incorrect results > when usign the "data" argument. I've checked to make sure that the > vector object names are not used outside of the data frame for the > experiment data on my computer. There is no way this could happen when > using Rweb. > > Rick B. > > Here are the details: > > # here is the experiment data > > choco.split.04 > subject brand ctime type > 1 christian h 104.000 mc > 3 christina h 33.500 mc > 5 ERIN h 46.000 mc > 7 gautam h 25.295 mc > 11 joe h 75.000 mc > 15 Lei h 44.500 mc > 9 helen n 42.500 mc > 13 jonathon n 55.500 mc > 17 pablo n 47.000 mc > 19 purin n 97.000 mc > 21 scott n 85.000 mc > 23 vince n 65.850 mc > 2 christian h 168.000 wc > 4 christina h 37.500 wc > 6 ERIN h 45.500 wc > 8 gautam h 28.860 wc > 12 joe h 70.000 wc > 16 Lei h 52.500 wc > 10 helen n 57.500 wc > 14 jonathon n 46.000 wc > 18 pablo n 58.000 wc > 20 purin n 113.000 wc > 22 scott n 97.500 wc > 24 vince n 89.650 wc > # data as an R object > choco.split.04 <- > structure(list(subject = structure(c(1, 2, 3, 4, 6, 8, 5, 7, > 9, 10, 11, 12, 1, 2, 3, 4, 6, 8, 5, 7, 9, 10, 11, 12), class = "factor", > .Label = c("christian", > "christina", "ERIN", "gautam", "helen", "joe", "jonathon", "Lei", > "pablo", "purin", "scott", "vince")), brand = structure(c(1, > 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, > 2, 2), class = "factor", .Label = c("h", "n")), ctime = c(104, > 33.5, 46, 25.295, 75, 44.5, 42.5, 55.5, 47, 97, 85, 65.85, 168, > 37.5, 45.5, 28.86, 70, 52.5, 57.5, 46, 58, 113, 97.5, 89.65), > type = structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), class = "factor", .Label = c("mc", > "wc"))), .Names = c("subject", "brand", "ctime", "type"), row.names > = c("1", > "3", "5", "7", "11", "15", "9", "13", "17", "19", "21", "23", > "2", "4", "6", "8", "12", "16", "10", "14", "18", "20", "22", > "24"), class = "data.frame") > # split-plot analysis - using "aov" with argument "data" > > summary(aov.split.04 <- > aov(ctime~brand*type+Error(subject),data=choco.split.04)) > > Error: subject > Df Sum Sq Mean Sq F value Pr(>F) > brand 1 639.1 639.1 0.2972 0.5976 > Residuals 10 21503.3 2150.3 > > Error: Within > Df Sum Sq Mean Sq F value Pr(>F) > type 1 850.43 850.43 4.3326 0.06404 . > brand:type 1 1.16 1.16 0.0059 0.94037 > Residuals 10 1962.86 196.29 > --- > Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 > > # here is the "proj" output - and it's all completely wrong > > > proj(aov.split.04) > (Intercept) : > (Intercept) > 1 66.04813 > 3 66.04813 > 5 66.04813 > 7 66.04813 > 11 66.04813 > 15 66.04813 > 9 66.04813 > 13 66.04813 > 17 66.04813 > 19 66.04813 > 21 66.04813 > 23 66.04813 > 2 66.04813 > 4 66.04813 > 6 66.04813 > 8 66.04813 > 12 66.04813 > 16 66.04813 > 10 66.04813 > 14 66.04813 > 18 66.04813 > 20 66.04813 > 22 66.04813 > 24 66.04813 > attr(,"df") > attr(,"df")$df > (Intercept) > 1 > > attr(,"onedf") > attr(,"onedf")$onedf > [1] FALSE > > attr(,"factors") > attr(,"factors")$"(Intercept)" > [1] "(Intercept)" > > > subject : > brand Residuals > 1 -1.15279697 -50.326456 > 3 -1.49365647 -53.795729 > 5 7.94608934 -2.679088 > 7 -9.57184562 9.110149 > 11 8.31691964 31.336764 > 15 0.08387137 -8.782543 > 9 11.06119883 45.752063 > 13 -7.01978726 25.900087 > 17 -0.10587652 3.956638 > 19 -0.09918658 3.706633 > 21 -0.09353078 3.495274 > 23 -0.08867137 3.313676 > 2 -2.17537547 88.387613 > 4 -1.83451597 -0.519157 > 6 11.33663826 -52.337849 > 8 -4.60767598 7.731579 > 12 -6.06482008 -35.264686 > 16 -0.08387137 8.782543 > 10 1.75243781 -10.962735 > 14 -6.49281005 -2.332554 > 18 0.10587652 -3.956638 > 20 0.09918658 -3.706633 > 22 0.09353078 -3.495274 > 24 0.08867137 -3.313676 > attr(,"df") > attr(,"df")$df > brand Residuals > 1 10 > > attr(,"onedf") > attr(,"onedf")$onedf > [1] FALSE > > attr(,"factors") > attr(,"factors")$brand > [1] "brand" > > attr(,"factors")$Residuals > [1] "subject" > > > Within : > type brand:type Residuals > 1 1.396984343 0.04496907 3.011473 > 3 2.938588912 0.05656711 2.953101 > 5 3.145124762 0.05812095 2.945280 > 7 3.247625778 0.05889210 2.941399 > 11 -3.328231709 -0.22912276 5.730411 > 15 -2.538082170 -0.31105255 -25.391330 > 9 4.266448221 0.08884555 3.630619 > 13 -3.992792267 -0.27283438 3.666296 > 17 -10.936223358 -0.46063495 6.604985 > 19 -9.099857196 0.13554870 10.373726 > 21 -12.073986774 0.35505329 -3.922691 > 23 -12.879482604 0.38872464 -8.547527 > 2 6.021798052 0.07976318 2.836355 > 4 4.480193482 0.06816515 2.894728 > 6 4.273657632 0.06661130 2.902548 > 8 4.171156617 0.06584015 2.906430 > 12 -1.324148016 -0.18585237 6.575126 > 16 5.418913496 0.02243897 -28.523763 > 10 3.152334173 0.03588670 2.217210 > 14 9.399714308 0.30761541 3.257817 > 18 5.342284161 -0.47550361 -1.871322 > 20 -1.793920282 0.15803004 -5.774710 > 22 0.713084037 -0.03900621 2.788084 > 24 -0.001183597 -0.01706548 5.795756 > attr(,"df") > attr(,"df")$df > type brand:type Residuals > 1 1 10 > > attr(,"onedf") > attr(,"onedf")$onedf > [1] FALSE > > attr(,"factors") > attr(,"factors")$type > [1] "type" > > attr(,"factors")$"brand:type" > [1] "brand" "type" > > attr(,"factors")$Residuals > [1] "subject" "Within" > > # here is the "model.tables" output - and it's all completely wrong > > > model.tables(aov.split.04) > Tables of effects > > brand > h n > 0.05825 -0.05825 > rep 12.00000 12.00000 > > type > mc wc > -3.321 3.321 > rep 12.000 12.000 > > brand:type > type > brand mc wc > h -0.054 0.019 > rep 6.000 6.000 > n 0.039 -0.005 > rep 6.000 6.000 > > # here is "aov" without "data" argument - looks the same as before > > attach(choco.split.04) > > summary(aov.split.04 <- aov(ctime~brand*type+Error(subject))) > > Error: subject > Df Sum Sq Mean Sq F value Pr(>F) > brand 1 639.1 639.1 0.2972 0.5976 > Residuals 10 21503.3 2150.3 > > Error: Within > Df Sum Sq Mean Sq F value Pr(>F) > type 1 850.43 850.43 4.3326 0.06404 . > brand:type 1 1.16 1.16 0.0059 0.94037 > Residuals 10 1962.86 196.29 > --- > Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 > > > # here is the "proj" output and it's correct > # as shown by manual decomposition > > proj(aov.split.04) > (Intercept) : > (Intercept) > 1 66.04813 > 2 66.04813 > 3 66.04813 > 4 66.04813 > 5 66.04813 > 6 66.04813 > 7 66.04813 > 8 66.04813 > 9 66.04813 > 10 66.04813 > 11 66.04813 > 12 66.04813 > 13 66.04813 > 14 66.04813 > 15 66.04813 > 16 66.04813 > 17 66.04813 > 18 66.04813 > 19 66.04813 > 20 66.04813 > 21 66.04813 > 22 66.04813 > 23 66.04813 > 24 66.04813 > attr(,"df") > attr(,"df")$df > (Intercept) > 1 > > attr(,"onedf") > attr(,"onedf")$onedf > [1] FALSE > > attr(,"factors") > attr(,"factors")$"(Intercept)" > [1] "(Intercept)" > > > subject : > brand Residuals > 1 -5.160208 75.112083 > 2 -5.160208 -25.387917 > 3 -5.160208 -15.137917 > 4 -5.160208 -33.810417 > 5 -5.160208 11.612083 > 6 -5.160208 -12.387917 > 7 5.160208 -21.208333 > 8 5.160208 -20.458333 > 9 5.160208 -18.708333 > 10 5.160208 33.791667 > 11 5.160208 20.041667 > 12 5.160208 6.541667 > 13 -5.160208 75.112083 > 14 -5.160208 -25.387917 > 15 -5.160208 -15.137917 > 16 -5.160208 -33.810417 > 17 -5.160208 11.612083 > 18 -5.160208 -12.387917 > 19 5.160208 -21.208333 > 20 5.160208 -20.458333 > 21 5.160208 -18.708333 > 22 5.160208 33.791667 > 23 5.160208 20.041667 > 24 5.160208 6.541667 > attr(,"df") > attr(,"df")$df > brand Residuals > 1 10 > > attr(,"onedf") > attr(,"onedf")$onedf > [1] FALSE > > attr(,"factors") > attr(,"factors")$brand > [1] "brand" > > attr(,"factors")$Residuals > [1] "subject" > > > Within : > type brand:type Residuals > 1 -5.952708 -0.219375 -25.8279167 > 2 -5.952708 -0.219375 4.1720833 > 3 -5.952708 -0.219375 6.4220833 > 4 -5.952708 -0.219375 4.3895833 > 5 -5.952708 -0.219375 8.6720833 > 6 -5.952708 -0.219375 2.1720833 > 7 -5.952708 0.219375 -1.7666667 > 8 -5.952708 0.219375 10.4833333 > 9 -5.952708 0.219375 0.2333333 > 10 -5.952708 0.219375 -2.2666667 > 11 -5.952708 0.219375 -0.5166667 > 12 -5.952708 0.219375 -6.1666667 > 13 5.952708 0.219375 25.8279167 > 14 5.952708 0.219375 -4.1720833 > 15 5.952708 0.219375 -6.4220833 > 16 5.952708 0.219375 -4.3895833 > 17 5.952708 0.219375 -8.6720833 > 18 5.952708 0.219375 -2.1720833 > 19 5.952708 -0.219375 1.7666667 > 20 5.952708 -0.219375 -10.4833333 > 21 5.952708 -0.219375 -0.2333333 > 22 5.952708 -0.219375 2.2666667 > 23 5.952708 -0.219375 0.5166667 > 24 5.952708 -0.219375 6.1666667 > attr(,"df") > attr(,"df")$df > type brand:type Residuals > 1 1 10 > > attr(,"onedf") > attr(,"onedf")$onedf > [1] FALSE > > attr(,"factors") > attr(,"factors")$type > [1] "type" > > attr(,"factors")$"brand:type" > [1] "brand" "type" > > attr(,"factors")$Residuals > [1] "subject" "Within" > > # here is "model.tables" output and it's correct > > model.tables(aov.split.04) > Tables of effects > > brand > h n > -5.16 5.16 > rep 12.00 12.00 > > type > mc wc > -5.953 5.953 > rep 12.000 12.000 > > brand:type > type > brand mc wc > h -0.219 0.219 > rep 6.000 6.000 > n 0.219 -0.219 > rep 6.000 6.000 > > # version information > > R.Version() > $platform > [1] "i686-pc-linux-gnu" > > $arch > [1] "i686" > > $os > [1] "linux-gnu" > > $system > [1] "i686, linux-gnu" > > $status > [1] "" > > $major > [1] "1" > > $minor > [1] "8.1" > > $year > [1] "2003" > > $month > [1] "11" > > $day > [1] "21" > > $language > [1] "R" > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide!http://www.R-project.org/posting-guide.html
Ulrich Leopold
2004-Aug-01 18:11 UTC
[R] Strange Problem with "proj" and "aov" for split-plot analysis output
> # split-plot analysis - using "aov" with argument "data" > > summary(aov.split.04 <- > aov(ctime~brand*type+Error(subject),data=choco.split.04))As far as I can see, maybe you should not use the redirect command in this case and skip the 'data' argument then it should work: summary(aov(ctime~brand*type+Error(subject))) else the results from 'aov(..)' are just redirected to aov.split.04 but not passed to standard output for 'summary(...)'. And it probably does not have a data argument? Maybe someone else could explain why? Ulrich