F検定について

11 次查看(过去 30 天)
Hiraku Tokuma
Hiraku Tokuma 2021-9-29
forループでF検定のp値を出力させる方法を教えてください。
for a= 1:n;
x= 行列名1 (a,:);
y = 行列名2(a,:);
f(a,:) = vartest2(x,y);
end
とすると、
行列名1と2のa列目同士をF検定してその判定を返してはくれるのですが、同時にp値の行列も作成したいです。
ご知恵を拝借願えませんでしょうか。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2021-9-29
上記の最初に書いてある「等分散に関する検定」と同じ内容です。データの内容はさておき、[h,p] = vartest2(x,y)と書かないとp値を出力してくれないので、一旦スカラ変数に格納してから行列にコピーすればやりたい事が出来ます。
load examgrades;
for a= 1:size(grades,2)-1;
x = grades(:,a);
y = grades(:,a+1);
[h,p] = vartest2(x,y) % 検定結果とp値を両方出力する
f(a,:) = [h,p]; % 検定結果とp値を行列に格納する
end
h = 1
p = 0.0019
h = 0
p = 0.1661
h = 0
p = 0.1120
h = 1
p = 1.4921e-07
f
f = 4×2
1.0000 0.0019 0 0.1661 0 0.1120 1.0000 0.0000
  1 个评论
Hiraku Tokuma
Hiraku Tokuma 2021-10-2
解決しました
ありがとうございます

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!