質問: 時系列データの整理方法と散布図の作成 2019 08 11 23 44 4.30e+01 10000.21 ... のようなフォーマットの時系列データaを持っていて、これを 2019 08 11 23 44 4.30e+01 10 のような別の時系列データbと結合させたいと考えています。 結合の際にはaは記録がとれていないところもあり、 とれているデータのみで結合したファイルを作成したいです。 最後にa、bそれぞれを散布図にしたいと思います。 時系列データはとりあつかったことがなく、この場合どのように処理したらよいでしょうか。 それぞれ year, month, hour, min, sec, センサー値 になっています。 よろしくお願いします。
回答: データのフォーマットが違ったら教えてください。 とりあえず、[year month day hour min sec data]の順で数値の入った数値配列がお手元にあると仮定して進めます。 時系列データがわかりやすく順番通りに並んでいるので、そのままdatetime関数に突っ込むとdatetime型になります。 a = [2019 08 11 23 44 4.30e+01 10000.21]; % 時間に関わるデータだけdatetime型に変換する timea = datetime(a(:,1:end-1)) % n行 x 7列の数値配列データでもこのままで大丈夫です。 散布図は横軸時間、縦軸センサー値として scatter(timea, a(:,end)); で描画できます。 aとbの結合ですが、同じようにbの方もdatetime型に変換したうえで、 timeall = [timea; timeb]; で結合できます。その際、センサー値も同じように結合してください。 散布図として表示するのであればこのままで問題ありませんが、気持ち悪いので時間で並べ替えたいという場合は、通常の数値配列と同様にsort関数が使えます。 欠損があるとのことですが、欠損部分のデータはどのようになっているのでしょうか。