R 実験計画法 直交表の分散分析メモ
はじめに
まず始めに、私はRについては今始めたばかりの初心者です。普段は手計算で実験データの解析をしていたのですが、さすがに面倒になったので、統計処理の環境であるRを始めてみました。Rの本を注文したのですが、何故か1週間経ってもこないので、Webで勉強してとりあえず計算しています。
このメモは個人的なメモで質問には答えられるようなレベルでないことを予めご了承下さい。
Rで分散分析(L9直交表)
簡単な例題として、L9の直交表についての計算例です。実際の実験ではL9ではいろいろと問題もあるかと思いますが、例題としてはサイズが小さいので選びました。データは書籍の「品質管理のための 実験計画法テキスト」から利用させて頂きました。(書籍と計算結果を比較すると楽なので利用させて頂きました。)
## 中里博明ほか「品質管理のための 実験計画法テキスト」232頁(日科技連 1997年)
## 直交表
data <- data.frame(
A = c("1","1","1","2","2","2","3","3","3"),
B = c("1","2","3","1","2","3","1","2","3"),
C = c("1","2","3","2","3","1","3","1","2"),
e = c("1","2","3","3","1","2","2","3","1"),
y = c(1.0,1.2,1.3,1.1,1.0,1.4,1.4,1.5,1.6)
)
## 直交表のデータを表示
data
## 分散分析
summary(aov(y ~ A+B+C,data=data))
## 分散分析(Cをeにプーリング)
summary(aov(y ~ A+B,data=data))
## summary(aov(y ~ A+B-C,data=data)) #の方が良いかも
注意
各因子の水準について文字列として設定する必要があります。(このことに気がつかなくて、苦労しました。)
excelからクリップボードを利用してデータを取り込む場合も、a1,a2,a3などと文字列で直交表を作るとちゃんと計算できるみたいです。
ちゃんと計算できていないと、自由度が違うのですぐに気がつくと思いますけど・・・
追記
数値を因子に変換するfactorコマンドを用いると、上記問題を解消できます。詳しくは以下のリンクをご覧下さいね。
ぽっとの陽だまり研究室 : R 実験計画法 直交表の分散分析(excelデータの活用)
最後に
Rで統計処理はじめたら、意外と便利であることに気がつきました。ちょっとしたプログラムを作ることもできるので、いろいろな処理ができて、すごく便利ですね。手計算でやるよりも速いので嬉しいです。(当たり前だよね)