人気ブログランキング | 話題のタグを見る
<< サンタさんの追跡 R 実験計画法 直交表の分散分析メモ >>
 

R 実験計画法 直交表から要因効果の計算

はじめに

統計処理環境であるRを使い始めたら、すごく便利なことに気がつきました。今回は前回の続きのである、直交表から要因効果を計算してみたいと思います。思いっきり、個人メモです。質問に答えられないので予めご了承下さいね。


データについて

データは前回の分散分析に使ったデータです。
ぽっとの陽だまり研究室 : R 実験計画法 直交表の分散分析メモ


データ


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)
)



簡単な解説

前回のL9のデータから各水準の効果について調べたいと思います。まず、直交表の各因子について、各水準毎の平均を求めます。その求めた平均が各因子の水準の効果です。

例えば、因子Aについて水準1の効果は、因子Aの水準1の平均になるので、以下のコマンドで因子Aの水準1の効果を得ることが出来ます。水準2,3についても同様にコマンドを与えることで得ることが出来ます。

例1



## 因子Aの水準1の効果
mean(subset(data,A==1)$y)

## 因子Aの水準2の効果
mean(subset(data,A==2)$y)

## 因子Aの水準3の効果
mean(subset(data,A==3)$y)




簡単なプログラムで

直交表が大きくなると、上記方法では面倒なので簡単なプログラムを作ってみます。dataからdatに列が因子、行が水準で計算結果を代入しています。もっと良い方法があると思いますが、とりあえず簡単な方法で書いてみました。

簡単なプログラム例


## 要因効果の抽出
dat <- matrix(, nrow=3, ncol=3)
for(j in 1:3){
  for(i in 1:3){
   dat[i,j] = mean(subset(data,data[,j]==i)$y)
  }
}
dat



最後に

Rって便利ですね。以前は、重回帰分析のプログラムを自分で作ってデータの分析をしたこともあったけど、Rならば簡単に重回帰分析もできて、いろいろな統計処理が簡単に出来るので便利です。そしてなによりも、多くの研究者達が利用されているので、情報を得ることができるのも良いですね。


記事の下の方に広告が表示される場合があります。この広告はエキサイトの広告枠です。
by potto37 | 2007-12-16 18:30
<< サンタさんの追跡 R 実験計画法 直交表の分散分析メモ >>
掲載の記事や画像などすべての複写・転載・公衆送信等はご遠慮ください。