[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