<<目次へ


最終更新日 : 2007.10.31

交互作用 - もっと複雑なモデルを扱う



 今まで用いてきたglm()で交互作用モデルも扱うことができる。例えば、p110のBOX 7.2をRで実行してみると次のようになる。

# Excelよりデータ取り込み
> dat <- excel.w(5)
Read 120 items

# データフレームの作成
> Wheat <- data.frame(
+ BLOCK = as.factor(dat[,1]),
+ TRTMT = as.factor(dat[,2]),
+ SOWRATE = as.factor(dat[,3]),
+ VARIETY = as.factor(dat[,4]),
+ YIELD = dat[,5])

> attach(Wheat) # データフレームにパスを通す

# 交互作用モデル
> BOX7.2 <- glm(YIELD ~ BLOCK + VARIETY + SOWRATE + VARIETY*SOWRATE)

# 分散分析表
> summary(aov(BOX7.2))
                Df Sum Sq Mean Sq F value  Pr(>F)  
BLOCK            2 0.3937  0.1968  0.5193 0.60599  
VARIETY          1 2.1474  2.1474  5.6651 0.03206 *
SOWRATE          3 5.8736  1.9579  5.1650 0.01303 *
VARIETY:SOWRATE  3 0.0566  0.0189  0.0498 0.98470  
Residuals       14 5.3069  0.3791                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

# 係数表
> summary(BOX7.2)

Call:
glm(formula = YIELD ~ BLOCK + VARIETY + SOWRATE + VARIETY * SOWRATE)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.8504  -0.2543   0.0115   0.3327   0.8743  

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        8.51458    0.39742  21.425 4.22e-12 ***
BLOCK2             0.26575    0.30784   0.863   0.4025    
BLOCK3            -0.01150    0.30784  -0.037   0.9707    
VARIETY2          -0.68667    0.50270  -1.366   0.1935    
SOWRATE2          -0.16067    0.50270  -0.320   0.7540    
SOWRATE3           0.06933    0.50270   0.138   0.8923    
SOWRATE4           1.03600    0.50270   2.061   0.0584 .  
VARIETY2:SOWRATE2 -0.01167    0.71093  -0.016   0.9871    
VARIETY2:SOWRATE3  0.21533    0.71093   0.303   0.7664    
VARIETY2:SOWRATE4  0.15000    0.71093   0.211   0.8359    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for gaussian family taken to be 0.3790637)

    Null deviance: 13.7782  on 23  degrees of freedom
Residual deviance:  5.3069  on 14  degrees of freedom
AIC: 53.892

Number of Fisher Scoring iterations: 2

# パスを解除
> detach(Wheat)