私はまったく同じ問題の実用的なソリューションを探しています。私が見つけた最高のものは、Foulkes Andreaの著書Applied Statistical Genetics with R(2009)で紹介されたNull Unrestricted Bootstrapです。他のすべての記事や書籍とは異なり、彼は特に回帰について考えています。他の方法に加えて、彼はNull Unrestricted Bootstrapを推奨しています。これは、残差を簡単に計算できない場合に適しています(私の場合のように、それぞれが同じ応答変数と異なる切り取りを持つ多くの独立した回帰(基本的に単純な相関)をモデル化する場合)。このメソッドは、maxTメソッドとも呼ばれることがわかりました。
> attach(fms)
> Actn3Bin <- > data.frame(actn3_r577x!="TT",actn3_rs540874!="AA",actn3_rs1815739!="TT",actn3_1671064!="GG")
> Mod <- summary(lm(NDRM.CH~.,data=Actn3Bin))
> CoefObs <- as.vector(Mod$coefficients[-1,1])
> B <-1000
> TestStatBoot <- matrix(nrow=B,ncol=NSnps)
> for (i in 1:B){
+ SampID <- sample(1:Nobs,size=Nobs, replace=T)
+ Ynew <- NDRM.CH[!MissDat][SampID]
+ Xnew <- Actn3BinC[SampID,]
+ CoefBoot <- summary(lm(Ynew~.,data=Xnew))$coefficients[-1,1]
+ SEBoot <- summary(lm(Ynew~.,data=Xnew))$coefficients[-1,2]
+ if (length(CoefBoot)==length(CoefObs)){
+ TestStatBoot[i,] <- (CoefBoot-CoefObs)/SEBoot
+ }
+ }
すべてのTestStatBoot
マトリックスを取得したら(行にブートストラップ複製があり、列にブートストラップがあります)T⃗ ∗^ 統計情報) Tクリティカル。 私たちは正確に観察します α = 0.05 より重要なのパーセント T⃗ ∗^ 統計(より重要なのは、絶対値が Tクリティカル。)。
報告します 私-番目のモデルコンポーネントが重要な場合、 T⃗ 私^> Tクリティカル。
最後のステップはこのコードで達成できます
p.value<-0.05 # The target alpha threshold
digits<-1000000
library(gtools) # for binsearch
pValueFun<-function(cj)
{
mean(apply(abs(TestStatBoot)>cj/digits,1,sum)>=1,na.rm=T)
}
ans<-binsearch(pValueFun,c(0.5*digits,100*digits),target=p.value)
p.level<-(1-pnorm(q=ans$where[[1]]/digits))*2 #two-sided.