忍者ブログ
×

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

有意水準調整型の多重比較の関数 holm.mc

source("http://file.scratchhit.pazru.com/holmmc.txt")
## 使い方の覚書
# 与えるデータは以下のように1列目に因子変数、2列目に数値変数。横長のデータはdatw=TRUEと指定する。横長の場合は変数名が因子名で、データは数値のみ
# デフォルトでプールされた標準偏差で多重比較する
# mse=で数値を入れれば、これを元にプールされた標準偏差を使って検定する
# 調整はデフォルトでholm。p.adjust.methodにあるものは選べる
# paired=Tのときは個々にt検定を繰り返すだけ
# psd=F, paired=Fで個々の対応なし検定繰り返し
# デフォルトでWelchの検定。var.equal=Tにすると普通のやつ


dat <- data.frame(a = factor(c(rep("a1",8), rep("a2",8), rep("a3",8), rep("a4",8))), result = c(9,7,8,8,12,11,8,13, 6,5,6,3,6,7,10,9, 10,13,8,13,12,14,14,16, 9,11,13,14,16,12,15,14))
dat # 縦長
dat2 <- data.frame(a1=c(9,7,8,8,12,11,8,13), a2=c(6,5,6,3,6,7,10,9), a3=c(10,13,8,13,12,14,14,16), a4=c(9,11,13,14,16,12,15,14))
dat2 #横長

res <- holm.mc(dat) # デフォルト
print.anova(res)
res1 <- holm.mc(dat, mse=5) # 適当にmseを指定する。内部ではsqrt(mse) を計算する。mseを指定した場合はその自由度をmse.df=で指定しないと警告が出る
res1.2 <- holm.mc(dat, mse=5, mse.df=30)
print.anova(res1.2)
res2 <- holm.mc(dat, psd=F, paired=T)
print.anova(res2)
res3 <- holm.mc(dat, psd=F, paired=F)
print.anova(res3)
res4 <- holm.mc(dat, psd=F, paired=F, var.equal=T)
print.anova(res4)
res5 <- holm.mc(dat2, datw=T, paired=T, psd=F) # 横長、対応あり、プールしない。対応ありのときは対象となる2群でプールするので全体では基本的にプールしない (たぶん)
print.anova(res5)

## うーむ、どうも引数の指定がオシャレじゃないな…

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
セリーグ順位表
パリーグ順位表