質問: データ解析をするためにプロットを多数表示する。 ライブスクリプト上でデータ解析を実施するのが目的です。 エクセル、csv上のデータをmatlab上にインポートしました。 特定の列(データ名有)のデータが別の列データと相関やn次関数と近似できるかどうかを確認したいです。 関係性を可視化するためにプロット一覧を表示したいのですが、そのために有効手段はあるでしょうか?
回答: 配列なのかtableによって、細かいコードは変わってきます。 データが二次元配列で、各列がデータだと仮定してみます。 data_x = 1 : 100; data_y = rand(100, 50); という1サンプル100点、50サンプルに対して、例えば相関係数であれば mat_cc = corrcoef(data_y); でそれぞれの組み合わせの相関係数が得られます。mat_cc(i, j) はdata_y(:, i)と data_y(:, j)の相関係数です。 ある列cに対して相関係数が最も高い列を一緒にプロットしたい場合、 c = 1; % 仮にc = 1と置きます。 [~, index] = max(mat_cc(c, :) - eye(50) * inf); % index = mat_cc(:, c) > 0.7; % 相関係数が0.7以上のものを全てプロットする場合はこのように。 figure; plot(data_x, data_y(:, c), '-', data_x, data_y(:, index), '--'); title([num2str(c), '列目に対して最も相関係数が高い列: ', num2str(index)]) となります。 どのようなデータに対して、具体的にどのような処理を行い、どのようなグラフを示したいのかを示し、今どこで躓いているのかを教えていただけますとより具体的なアドバイスができるかもしれません。