1807. ダネット検定 長崎 2004/01/15 (木) 15:18
└1810. Re: ダネット検定 青木繁伸 2004/01/15 (木) 17:06
└1813. Re^2: ダネット検定 長崎 2004/01/15 (木) 17:24
├1816. Re^3: ダネット検定 青木繁伸 2004/01/15 (木) 19:43
└1814. Re^3: ダネット検定 俊坊 2004/01/15 (木) 17:48
└1827. Re^4: ダネット検定 青木繁伸 2004/01/16 (金) 13:32
├1861. Re^5: ダネット検定 中澤 2004/01/17 (土) 23:22
│└1862. Re^6: ダネット検定 青木繁伸 2004/01/17 (土) 23:44
│ └1867. Re^7: ダネット検定 中澤 2004/01/18 (日) 17:58
└1830. Re^5: ダネット検定 俊坊 2004/01/16 (金) 14:02
├1833. Re^6: ダネット検定 俊坊 2004/01/16 (金) 14:06
└1832. Re^6: ダネット検定 青木繁伸 2004/01/16 (金) 14:05
└1841. Re^7: ダネット検定 青木繁伸 2004/01/16 (金) 15:08
1807. ダネット検定 長崎 2004/01/15 (木) 15:18多重比較による検定において,有意水準0.001を求めたいのですが,一般的に市販されているソフトではほとんど0.01までで,0.001には対応してません。Tukey法に関しては,ネットでソフトを見つけた(スチューデント化された範囲を求めるもの)のですが,ダネットのほうはいまだにわかりません。何か求めるよい方法(簡単に求められるもの)はありませんか?もともと求められるものなんですか??? |
1810. Re: ダネット検定 青木繁伸 2004/01/15 (木) 17:06> 何か求めるよい方法(簡単に求められるもの)はありませんか?もともと求められるものなんですか??? |
1813. Re^2: ダネット検定 長崎 2004/01/15 (木) 17:24> 個人的に使うなら以下を参照 |
1816. Re^3: ダネット検定 青木繁伸 2004/01/15 (木) 19:43> 理論とかわからなくても使えるような(数値入力だけとか)ソフトはないんでしょうか?? |
1814. Re^3: ダネット検定 俊坊 2004/01/15 (木) 17:48p値を求める,ということなら,YUKMS社製のStat Light #4がやってくれます(#4は多群検定に特化)。最近バージョンアップしました。 |
1827. Re^4: ダネット検定 青木繁伸 2004/01/16 (金) 13:32もしYUKMS社製のStat Light #4をお持ちでしたら,申し訳ありませんが,お願いがあります。 |
1861. Re^5: ダネット検定 中澤 2004/01/17 (土) 23:22Rのmultcompパッケージのsimtest()でtype="Dunnett"で計算させた結果と比べると,t値の絶対値は同じですが,pは違う値でした。library(multcomp) y <- c(7,11.59,11,13,9,9,12,12,8,10,12,12,6,9,10,11,9,9,11,14,8,9,13,12,11,10,9,11,10,12,10,10,8,8) g <- factor(c(rep(c('A','B','C','D'),8),'A','A')) res <- simtest(y ~ g, type="Dunnett") summary(res) の結果, Simultaneous tests: Dunnett contrasts Call: simtest.formula(formula = y ~ g, type = "Dunnett") Dunnett contrasts for factor g Contrast matrix: gA gB gC gD gB-gA 0 -1 1 0 0 gC-gA 0 -1 0 1 0 gD-gA 0 -1 0 0 1 Absolute Error Tolerance: 0.001 Coefficients: Estimate t value Std.Err. p raw p Bonf p adj gD-gA 3.475 -5.576 0.623 0.000 0.000 0.000 gC-gA 2.600 -4.172 0.623 0.000 0.000 0.000 gB-gA 1.549 -2.485 0.623 0.019 0.019 0.019となりました。 |
1862. Re^6: ダネット検定 青木繁伸 2004/01/17 (土) 23:44> Rのmultcompパッケージのsimtest()でtype="Dunnett"で計算させた結果と比べると,t値の絶対値は同じですが,pは違う値でした。 |
1867. Re^7: ダネット検定 中澤 2004/01/18 (日) 17:58> う。なんでだろ。 |
1830. Re^5: ダネット検定 俊坊 2004/01/16 (金) 14:02> rho=0.44444 > group:2 t=2.48520 p=0.04966 > group:3 t=4.17208 p=0.00065 > group:4 t=5.57615 p=0.00001 1 vs 2 p=0.0500 1 vs 3 p=0.000689117 1 vs 4 p=1.48972E-05となりました。 |
1833. Re^6: ダネット検定 俊坊 2004/01/16 (金) 14:06ただし,Stat Lightはアドインソフトですので,計算しているのはビル・ゲイツの手下です。念のため。 |
1832. Re^6: ダネット検定 青木繁伸 2004/01/16 (金) 14:05> 以前Yukms社に問い合わせたところ,自由度が異なる場合の吉田らの方法で計算されているそうです。 |
1841. Re^7: ダネット検定 青木繁伸 2004/01/16 (金) 15:08library(mvtnorm) Dunnett <- function(dat) { printf <- function(fmt, ...) cat(sprintf(fmt, ...)) get.rho <- function(ni) { k <- length(ni) rho <- outer(ni, ni, function(x, y) { sqrt(x/(x+ni[1])*y/(y+ni[1])) }) diag(rho) <- 0 sum(rho[-1,-1])/(k-2)/(k-1) } pdunnett <- function(a,df,x,r) { corr <- diag(a-1) corr[lower.tri(corr)] <- r prob <- 1-pmvt(lower=-x, upper=x, delta=rep(0, a-1), df=df, corr=corr, abseps=0.0001) } x <- dat[,2] ni <- table(g <- dat[,1]) gv <- as.numeric(names(ni)) a <- length(ni) n <- sum(ni) mi <- vi <- rep(0, a) for (i in 1:a) { mi[i] <- mean(xi <- x[g==gv[i]]) vi[i] <- var(xi) } Vw <- sum(vi*(ni-1))/(n-a) rho <- get.rho(ni) printf("rho=%5.3f\n", rho) for (i in 2:a) { ti <- abs(mi[i]-mi[1])/sqrt(Vw*(1/ni[i]+1/ni[1])) pi <- pdunnett(a, n-a, ti, rho) printf("group:%i t=%.3f p=%.3f\n", i, ti, pi[1]) } } Dunnett(dat) データは, dat <- matrix(c( 1,3.42, 1,3.84, 1,3.96, 1,3.76, 2,3.17, 2,3.63, 2,3.47, 2,3.44, 2,3.39, 3,3.64, 3,3.72, 3,3.91 ), ncol=2, byrow=TRUE)のような感じで用意する。 |
● 「統計学関連なんでもあり」の過去ログ--- 027 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る