こんにちは!今日は、MATLABを使ったデータ解析の結果をCSVファイルとして保存する手軽な方法について解説します。研究や開発の現場では、解析結果を後で参照したり、他のツールで利用するために、汎用的なフォーマットで保存する必要がよくありますよね。特に、ExcelやPython、Rなどで再利用できるCSV形式はとても便利です。
私は、ヘッダーを含めて数値と文字列が混在するようなデータを出力したい時には、wirtetable(2項)を使うようにしています。
(^-^)
1. writematrix で簡単に保存
MATLABには、解析結果をファイルに書き込むための関数がいくつか用意されています。その中でも一番簡単で手軽な方法が、writematrix
関数を使うことです。以下の例で、使い方を見てみましょう。
clear;
% 解析結果を生成(ここではランダムデータを例にします)
data = rand(100, 3); % 100行3列のランダムなデータ
% CSVファイルに保存
writematrix(data, 'results.csv');
このコードでは、rand
関数で生成した100行×3列のランダムなデータを、writematrix
関数を使ってresults.csvというファイル名で保存しています。これだけで、解析結果がすぐにCSV形式で出力されます。
2. ヘッダー付きCSVを作成する
解析結果をもう少し整理して保存したい場合、例えば列名(ヘッダー名)を付けたいこともあるでしょう。そんな時にはwritetable
を使うのが便利です。以下の例をご覧ください。
clear;
% 解析結果とカラム名を用意
data = rand(100, 3);
T = array2table(data, 'VariableNames', {'Var_1', 'Var_2', 'Var_3'});
% ヘッダー付きでCSVファイルに保存
writetable(T, 'results_with_headers.csv');
ここでは、array2table
を使ってデータをテーブル形式に変換し、VariableNames
でカラム名を指定しています。これにより、解析結果にヘッダーが付いたCSVファイルが作成されます。注意点としては、次の2つがあるかと考えます。
- 注意点①:テーブル型のデータ形式の扱いに慣れる必要がる。
- 注意点②:「列名」は半角英数を使うことが無難。
テーブル形式の変数を扱うことになるため、多少ハードルが高い部分があるかもしれません。しかしながら、「数値データ」と「文字データ」を一つの変数として扱えて、そのままcsvファイルに出力できることは非常に魅力的だと考えます。
3. カスタマイズ可能な出力
さらに、出力する際にフォーマットや区切り文字を細かく指定したい場合、別のMATLAB関数などを使ってカスタマイズ可能です。ただ、通常の用途であれば上記のwritematrix
やwritetable
で十分対応できるでしょう。
4.まとめ
解析結果を手軽にCSV形式で保存するための方法として、writematrix
とwritetable
が非常に便利です。writematrix
はシンプルで、データをすぐにCSVファイルに書き込めますし、writetable
を使えばカラム名やさらに詳細な構造を持ったデータも保存可能です。
MATLABの標準関数を活用すれば、解析の後処理もスムーズに進められるので、ぜひ活用してみてください!
最後までお読みいただきありがとうございました。それではまた次回お会いしましょう!