忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


carパッケージ、Anova関数の分散分析表とかはprintで結果を出力しているだけ。
データフレームとか行列になってると、後からF値や自由度を取り出して効果量なんかを出しやすいので関数 "Anovastat" を作ってみた。
少し改良して"Astat"にした。
といっても、car:::summary.Anova.mlmやcar:::print.linear.hypothesis.mlmを適当に書き換えただけ。Rjpwikiの記事に感謝。

## 関数の読み込み
source("http://file.scratchhit.pazru.com/cartable.txt")
source("http://file.scratchhit.pazru.com/Astat.r")
# 我ながらきたないコードだなぁ…

## 使い方

# 分析サンプル
library(car)
hsb2 <- read.table('http://www.ats.ucla.edu/stat/R/faq/hsb2.csv', header=T, sep=",")
result1 <- Anova(lm(cbind(write,read)~female+math+science+socst, hsb2))


## Anovastatで結果の取り出し
Tableres <- Anovastat(result1)
Tableres <- Astat(result1)
Tableres
# manovaはWilksをデフォルトで出力する。単変量Anovaには偏イータ二乗、f二乗も出力する。
Tableres$Anova # 単変量分散分析の結果。混合要因のときのみ出力される (上の分析例では出力されない) 。通常はUAnova (単変量分散分析表) 、Mauchly, GG(Greenhouse-Geisser) 、HF (Huynh-Feldt) がmatrixで出力される。
# Tableres$Anova$UAnovaとかで取り出す
Tableres$Manova # 多変量分散分析の結果
Tableres$Manova[[2]] # とかやれば個々の分散分析表がデータフレームで取り出せる


## 被験者間要因のみのときはそもそもデータフレームなので上の関数は必要ない
result2 <- Anova(lm(write~female*math, hsb2))
class(result2)

PR
Comment
Trackback
Trackback URL

Comment form
Title
Color & Icon Vodafone絵文字 i-mode絵文字 Ezweb絵文字  
Comment
Name
Mail
URL
Password
プロフィール
HN:
tao
HP:
性別:
非公開
職業:
会社員
趣味:
アウトドア、自転車、ジョギング、英語学習
自己紹介:
・千葉在住のサラリーマンです。データ分析っぽいことが仕事。
・今年英検1級取得。今はTOEIC高得点を目指して勉強中。
・興味のあることは野球、アウトドア、英語学習、統計、プログラミング、PC関係などなど。
ブログ内検索
freead
順位表
プロ野球データFreak
セリーグ順位表
パリーグ順位表