リサンプリングによって得られた各指標のp値を算出。
最小のp値を抽出。
リサンプルを繰り返す。
最小p値の分布において実際に観測されたp値がどのぐらいの確率で出現するかを計算。
以下は対応のない2群比較にのみ対応。
これであってんのか自信なし。
いずれにしろ変数の数が増えるとやっぱ厳しい。
function Pcorrected=rbmt_ttst2(data,g1,g2,k)
% resampling-based multiple test
% input
% data: sub x var.
% g1: subjects of gourp 1, eg. 1:10
% g2: subjects of gourp 1, eg. 11:20
% k: number of permutation
s=size(data);
p1=zeros([s(2) 1]);
for ii=1:s(2)
[~, P]=ttest(data(g1,ii),data(g2,ii));
p1(ii)=P;
end;
Pcorrected=zeros([s(2) 1]);
for jj=1:k,
idx=randperm(s(1));
minP=1;
for ii=1:s(2),
[~, P]=ttest(data(idx(g1),ii),data(idx(g2),ii));
if P<minP, minP=P; end;
end;
Pcorrected=Pcorrected+(p1>minP);
end;
Pcorrected=Pcorrected/k;
なんかコピペミスしてたので,修正
0 件のコメント:
コメントを投稿