MATLAB Answers

loop処理で行った​検定で得られた統計値​に、番号を付けて1つ​のファイルにまとめる​場合はどうすれば良い​ですか?

조회 수: 2(최근 30일)
例えば、任意のtable(DATA)における、2列目から12列目にあるデータに対し、それぞれの1行目から19行目、21行目から40行目を比較しようとした場合、
各比較で得られた統計値に番号をふったうえで、一つのmatファイルにまとめて整理したいです。
初歩的な質問ですみません。どうぞよろしくお願い致します。
for i=2:12
A=table2array(DATA(1:19,i));
B=table2array(DATA(20:40,i));
[p,h,stats] = ranksum(A, B,'alpha', 0.05, 'tail','both')
end

  댓글 수: 0

로그인 to comment.

채택된 답변

Musashi Ito
Musashi Ito 28 Dec 2019
편집: Musashi Ito 28 Dec 2019
各比較で得られた統計値を配列として格納して mat ファイルに保存もできそうですが、いかがでしょうか。以下のようなコードになるかなと思います
% テーブルデータ DATA の 2 列目から 12 列目の数値データを数値配列 testData として抽出
testData = DATA{:,2:12};
% testData の行数(m),列数(n)を取得
[m,n] = size(testData);
for k=1:n
% testData から 1 行目から 19 行目の k 列を抽出
A = testData(1:19,k);
% testData から 21 行目から 40 行目の k 列を抽出
B = testData(21:40,k);
% 配列として結果を格納
[p(k),h(k),stats(k)] = ranksum(A, B,'alpha', 0.05, 'tail','both')
end
% ワークスペースの変数を myfile.mat に保存
save myfile

  댓글 수: 1

Rui Watanabe
Rui Watanabe 6 Jan 2020
それぞれの検定結果をmatファイルに整理して保存できました。結どうもありがとうございました。また、返答が遅くなりすみませんでした。

로그인 to comment.

추가 답변(0개)

이 질문에 답변하려면 로그인을(를) 수행하십시오.