[R] Split plot analysis problems

Jean-Paul Maalouf jean-paul.maalouf at u-bordeaux1.fr
Wed Jul 22 11:15:04 CEST 2009


Thanks a lot for your answer.

My blocks are geographically well-separated, and within each block my  
four treatments are randomized. Therefore I am choosing the first model.

Do you have any idea on how can I verify preliminary assumptions in  
this model (normality of the residuals and variance homogeneity),  
since R is not able to extract residuals?

>>> residuals(aov(PH~Community*Mowing*Water + Error(Block)))
>>>
>> NULL

Regards,

JPM


Quoting Kevin W <kw.statr at gmail.com>:

> I don't think you are clear enough about the layout within each block.  If
> the four treatments are randomized, I would choose the first model.
>
> KW
>
>
> On Tue, Jul 21, 2009 at 9:38 AM, Jean-Paul Maalouf <
> jean-paul.maalouf at u-bordeaux1.fr> wrote:
>
>> Hello,
>>
>> I would be very grateful if someone could give me a hand with my split plot
>> design problems.
>>
>> So here is my design :
>> I am studying the crossed-effects of water (wet/dry) and mowing
>> (mowed/not-mowed = nm) on plant height (PH) within 2 types of plant
>> communities (Xerobromion and Mesobromion) :
>> - Within each type of communities, I have localised 4 blocks
>> - In each block, I have defined 4 plots in order to have the 4 possible
>> treatments of both the water and mowing factors : nm/dry ; mowed/dry ;
>> mowed/wet ; nm/wet.
>>
>> Here is my data table :
>>
>>   Community Block Mowing Water    PH
>> 1       Meso    b1  Mowed   Wet  7.40
>> 2       Meso    b1     nm   Wet 13.10
>> 3       Meso    b1  Mowed   Dry  5.55
>> 4       Meso    b1     nm   Dry 10.35
>> 5       Meso    b2     nm   Dry 10.70
>> 6       Meso    b2  Mowed   Dry  6.38
>> 7       Meso    b2     nm   Wet  9.75
>> 8       Meso    b2  Mowed   Wet  6.35
>> 9       Meso    b3     nm   Wet  9.60
>> 10      Meso    b3  Mowed   Dry  5.10
>> 11      Meso    b3     nm   Dry 10.05
>> 12      Meso    b3  Mowed   Wet  6.25
>> 13      Meso    b4     nm   Wet  9.00
>> 14      Meso    b4  Mowed   Wet  6.50
>> 15      Meso    b4     nm   Dry  7.75
>> 16      Meso    b4  Mowed   Dry  5.90
>> 17      Xero    b5     nm   Wet  7.69
>> 18      Xero    b5  Mowed   Wet  8.11
>> 19      Xero    b5     nm   Dry  3.98
>> 20      Xero    b5  Mowed   Dry  3.69
>> 21      Xero    b6     nm   Wet  5.24
>> 22      Xero    b6  Mowed   Wet  4.22
>> 23      Xero    b6     nm   Dry  6.55
>> 24      Xero    b6  Mowed   Dry  4.40
>> 25      Xero    b7  Mowed   Dry  3.79
>> 26      Xero    b7     nm   Dry  3.91
>> 27      Xero    b7     nm   Wet  9.00
>> 28      Xero    b7  Mowed   Wet  8.50
>> 29      Xero    b8  Mowed   Dry  3.33
>> 30      Xero    b8     nm   Wet  6.25
>> 31      Xero    b8  Mowed   Wet  8.00
>> 32      Xero    b8     nm   Dry  6.33
>>
>> I actually have 2 questions :
>> I wrote my model in two different ways, and there were differences in
>> P-Values according to the model written :
>>
>> First model : summary(aov(PH~Community*Mowing*Water + Error(Block)))
>> Error: Block
>>          Df Sum Sq Mean Sq F value   Pr(>F)
>> Community  1 42.182  42.182  24.407 0.002603 **
>> Residuals  6 10.370   1.728
>> ---
>> Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
>>
>> Error: Within
>>                       Df Sum Sq Mean Sq F value    Pr(>F)
>> Mowing                  1 40.007  40.007 21.1747 0.0002215 ***
>> Water                   1 23.120  23.120 12.2370 0.0025673 **
>> Community:Mowing        1 21.060  21.060 11.1467 0.0036554 **
>> Community:Water         1  6.901   6.901  3.6524 0.0720478 .
>> Mowing:Water            1  1.611   1.611  0.8527 0.3680090
>> Community:Mowing:Water  1  0.858   0.858  0.4542 0.5089331
>> Residuals              18 34.008   1.889
>> ---
>>
>> - Second model (assuming that Mowing*Water are nested inside the Block
>> factor) :
>> summary(aov(PH~Community*Mowing*Water + Error(Block/(Mowing*Water))))
>>
>> Error: Block
>>          Df Sum Sq Mean Sq F value   Pr(>F)
>> Community  1 42.182  42.182  24.407 0.002603 **
>> Residuals  6 10.370   1.728
>> ---
>> Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
>>
>> Error: Block:Mowing
>>                 Df Sum Sq Mean Sq F value    Pr(>F)
>> Mowing            1 40.007  40.007  37.791 0.0008489 ***
>> Community:Mowing  1 21.060  21.060  19.893 0.0042820 **
>> Residuals         6  6.352   1.059
>> ---
>> Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
>>
>> Error: Block:Water
>>                Df  Sum Sq Mean Sq F value  Pr(>F)
>> Water            1 23.1200 23.1200  6.0725 0.04884 *
>> Community:Water  1  6.9006  6.9006  1.8125 0.22685
>> Residuals        6 22.8439  3.8073
>> ---
>> Signif. codes:  0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
>>
>> Error: Block:Mowing:Water
>>                       Df Sum Sq Mean Sq F value Pr(>F)
>> Mowing:Water            1 1.6110  1.6110  2.0085 0.2062
>> Community:Mowing:Water  1 0.8581  0.8581  1.0697 0.3409
>> Residuals               6 4.8126  0.8021
>>
>> Both models give me interesting (but different!) results. Which one would
>> be the most appropriate?
>>
>> Second question : How can I verify preliminary assumptions (normality of
>> residuals and variance homogeneity) in this kind of models?
>> When I ask R to extract residuals, the answer is "NULL":
>>
>>  residuals(aov(PH~Community*Mowing*Water + Error(Block/(Mowing*Water))))
>>>
>> NULL
>>
>>> residuals(aov(PH~Community*Mowing*Water + Error(Block)))
>>>
>> NULL
>>
>> A huge thanks to the one who will rescue (or at least try to rescue) my
>> PhD!
>>
>> Sincerely,
>>
>>
>> --
>> Jean-Paul Maalouf
>> UMR 1202 BIOGECO
>> Inra - Université Bordeaux 1
>> Bâtiment B8, Avenue des Facultés
>> 33405 Talence, France
>> Tel : 05 40008772
>>
>> ______________________________________________
>> 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.
>>
>



-- 
Jean-Paul Maalouf
UMR 1202 BIOGECO
Inra - Université Bordeaux 1
Bâtiment B8, Avenue des Facultés
33405 Talence, France
Tel : 05 40008772




More information about the R-help mailing list