(2023-12-15 初稿 - )
はじめに
以下のページに3元配置分散分析のことを載せたので、調子に乗って4元配置分散分析をやってみた。
サンプルデータ
データは、facAからfacDまでの4要因で、表計算ソフトやお好きなエディタで入力して、f4-test.csv等の適当な名前を付ける。
Rスクリプト
さっそくスクリプトを示す。
### 4f-test.R
# ver0.01 2023-12-14 start cp f3-test.R f4-test.R
# 4 dimension f-test
#[Usage]
# $ Rscript f4-test.R data-file.csv
args <- commandArgs(trailingOnly=T)
data <- read.table(args[1], sep=",", header=T)
#attach(data)
res <- aov(value ~ facA + facB + facC + facD +
facA*facB + facA*facC + facA*facD + facB*facC + facB*facD + facC*facD +
facA*facB*facC + facA*facB*facD + facA*facC*facD + facB*facC*facD +
facA*facB*facC*facD, data)
summary(res)
3元配置と異なる点は、2要因の交互作用が6個、3要因が4個あり、それぞれを列記するところ。
以下のとおり実行してみる。
$ Rscript 4f-test.R 4f-test.csv
以下のような結果がでれば成功。
$ Rscript f4-test.R f4-test.csv
Df Sum Sq Mean Sq F value Pr(>F)
facA 1 0.01527 0.01527 3.886 0.06624 .
facB 1 0.05912 0.05912 15.046 0.00133 **
facC 1 0.00132 0.00132 0.335 0.57084
facD 1 0.00706 0.00706 1.796 0.19891
facA:facB 1 0.00552 0.00552 1.404 0.25330
facA:facC 1 0.00009 0.00009 0.023 0.88086
facA:facD 1 0.00179 0.00179 0.457 0.50887
facB:facC 1 0.00586 0.00586 1.493 0.23951
facB:facD 1 0.00035 0.00035 0.088 0.77052
facC:facD 1 0.02137 0.02137 5.440 0.03307 *
facA:facB:facC 1 0.00160 0.00160 0.408 0.53219
facA:facB:facD 1 0.00127 0.00127 0.322 0.57830
facA:facC:facD 1 0.01427 0.01427 3.632 0.07479 .
facB:facC:facD 1 0.00184 0.00184 0.468 0.50365
facA:facB:facC:facD 1 0.00364 0.00364 0.927 0.34997
Residuals 16 0.06286 0.00393
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
各行末の記号の意味は、有意差の水準だよ。