×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
有意水準調整型の多重比較の関数 holm.mc
source("https://blog.cnobi.jp/v1/blog/user/89d80905c7038b4121822249e9062fba/1276531669")
## 使い方の覚書
# 与えるデータは以下のように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)
## うーむ、どうも引数の指定がオシャレじゃないな…
source("https://blog.cnobi.jp/v1/blog/user/89d80905c7038b4121822249e9062fba/1276531669")
## 使い方の覚書
# 与えるデータは以下のように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