メモ:分散分析:1要因分散分析対応なし
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
メモ:分散分析:1要因分散分析対応なし [2015/12/25 19:48] – 作成 Wiki Editor | メモ:分散分析:1要因分散分析対応なし [2015/12/25 21:12] (現在) – Wiki Editor | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 1要因の分散分析 対応なし ====== | ====== 1要因の分散分析 対応なし ====== | ||
+ | まずは、単純な群間比較。 | ||
+ | |||
+ | データの準備 | ||
+ | ^A組 ^B組 ^C組 ^D組 ^ | ||
+ | |8|5|12|11| | ||
+ | |7|6|10|10| | ||
+ | |9|6|9|15| | ||
+ | |12|7|14|12| | ||
+ | |10|3|14|13| | ||
+ | |||
+ | このままSPSSのように入力するとうまくいかないので、クラスを分ける変数を作成し以下のようなデータを作成する。IDは特に必要ないが、一応。 | ||
+ | ^ID ^クラス ^スコア ^ | ||
+ | |1 |A組|8| | ||
+ | |2 |A組|7| | ||
+ | |...||| | ||
+ | |12|C組|10| | ||
+ | |...||| | ||
+ | |||
+ | > id <- 1:20; | ||
+ | > class <- c(" | ||
+ | > score <- c(8, | ||
+ | > df <- data.frame(ID=id, | ||
+ | |||
+ | 各列のベクトルを作成し、データフレームにまとめる。CSVファイルから読む込む方が面倒はないが、ちょっと練習。 | ||
+ | |||
+ | lm()関数で推定。CLASS変数はfactorなので、自動的にダミー変数に展開される。 | ||
+ | > res.anova <- lm(SCORE ~ CLASS, df); | ||
+ | > summary(res.anova); | ||
+ | | ||
+ | Call: | ||
+ | lm(formula = SCORE ~ CLASS, data = df) | ||
+ | | ||
+ | Residuals: | ||
+ | | ||
+ | | ||
+ | | ||
+ | Coefficients: | ||
+ | Estimate Std. Error t value Pr(>|t|) | ||
+ | (Intercept) | ||
+ | CLASSB | ||
+ | CLASSC | ||
+ | CLASSD | ||
+ | --- | ||
+ | Signif. codes: | ||
+ | | ||
+ | Residual standard error: 1.93 on 16 degrees of freedom | ||
+ | Multiple R-squared: | ||
+ | F-statistic: | ||
+ | |||
+ | 回帰係数表を、記述統計出力に代用。Estimateに平均値が出力される。各郡の平均は、(Intercept)に各郡の推定値を加える。標準誤差はやや数値が異なる。一般線形モデルの場合と従来型の分散分析とは計算方法が異なるので、ここではあまり気にしない。 | ||
+ | |||
+ | 次に分散分析表 | ||
+ | > anova(res.anova); | ||
+ | Analysis of Variance Table | ||
+ | | ||
+ | Response: SCORE | ||
+ | Df Sum Sq Mean Sq F value Pr(>F) | ||
+ | CLASS 3 146.95 | ||
+ | Residuals 16 59.60 3.725 | ||
+ | |||
+ | 平方和の合計は出力されないが、足し算すれば良いだけ。単純な分散分析は、簡単。 | ||
+ | |||
+ | 続いて、Tukey HSDによる多重比較。 | ||
+ | > res.aov <- aov(SCORE ~ CLASS, df); | ||
+ | > TukeyHSD(res.aov); | ||
+ | Tukey multiple comparisons of means | ||
+ | 95% family-wise confidence level | ||
+ | | ||
+ | Fit: aov(formula = SCORE ~ CLASS, data = df) | ||
+ | | ||
+ | $CLASS | ||
+ | diff lwr upr p adj | ||
+ | B-A -3.8 -7.2923198 -0.3076802 0.0306239 | ||
+ | C-A 2.6 -0.8923198 | ||
+ | D-A 3.0 -0.4923198 | ||
+ | C-B 6.4 2.9076802 | ||
+ | D-B 6.8 3.3076802 10.2923198 0.0002236 | ||
+ | D-C 0.4 -3.0923198 | ||
+ | |||
+ | lm()関数が返すオブジェクトではダメなので、aov()関数の結果をTukeyHSD関数に渡す。 | ||
メモ/分散分析/1要因分散分析対応なし.txt · 最終更新: 2015/12/25 21:12 by Wiki Editor