最終更新日 : 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)