带R的分割图模型anova

问题描述

我正在尝试用R解决练习,我在《 农业和自然科学实验设计》 一书中找到了这一点(第164页)

table

我已将表格传递给R软件

library(tibble)
tb = tibble("replica" = factor(x = rep(1:4,12),labels = c("I","II","III","IV")),"row" = factor(x = rep(1:4,c(12,12,12)),labels = c("12P","25P","12B","25B")),"hybrid" = factor(x = rep(1:2,c(24,24)),labels = c("P3730","B70XH55")),"density" = factor(x = c(rep(1:3,c(4,4,4)),rep(1:3,4))  ),labels = c("12000","16000","20000")),"valor" = c(140,138,130,142,145,146,150,147,149,136,132,134,140,128,141,148,136))

但是我很难创建aov模型

model = aov(valor ~ replica + hybrid + replica/hybrid + row + replica/row + density + replica/density + row:density,data = tb)

应用anova(model)时,它与下表的结果不一致。

enter image description here

如果还有其他方法可以应用该模型,请尽我所能。我之所以申请anova()是因为我可以提取msres anova(model)['Residuals','Mean Sq'],并且可以帮助我计算模型的可靠性(cv) >

解决方法

我认为输出是使用agricolae库中的ssp.plot获得的,但是首先您需要将行间距转换为连续变量:

tb$row = as.numeric(gsub("[A-Z]*","",as.character(tb$row)))

library(agricolae)

with(tb,ssp.plot(replica,hybrid,row,density,Y=valor))

ANALYSIS SPLIT-SPLIT PLOT:  valor 
Class level information

hybrid  :  P3730 B70XH55 
row     :  12 25 
density     :  12000 16000 20000 
replica     :  I II III IV 

Number of observations:  48 

Analysis of Variance Table

Response: valor
                   Df Sum Sq Mean Sq F value    Pr(>F)    
replica             3 237.73   79.24  7.0135 0.0719692 .  
hybrid              1 238.52  238.52 21.1106 0.0193734 *  
Ea                  3  33.90   11.30                      
row                 1 475.02  475.02 71.6262 0.0001487 ***
hybrid:row          1   1.69    1.69  0.2545 0.6319437    
Eb                  6  39.79    6.63                      
density             2 350.04  175.02 19.9233 7.959e-06 ***
density:hybrid      2  37.04   18.52  2.1083 0.1433767    
density:row         2  87.79   43.90  4.9968 0.0153376 *  
density:hybrid:row  2   1.63    0.81  0.0925 0.9119816    
Ec                 24 210.83    8.78                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

cv(a) = 2.4 %,cv(b) = 1.9 %,cv(c) = 2.1 %,Mean = 138.8542