以下のループを使用して、データが記録されたインスタンスとデータのないインスタンスを分離しています。データ セットは非常に大きく (列によって 1000 ~ 6000 の範囲)、データ型が混在しているため、考えられる唯一の実用的な解決策はループを使用することです。
if または while ステートメントで空白を正確に読み取ることができません。for ループを使用するとエラーなしで実行されますが、if の前半に入ることはありません。つまり、データを分離せずにコピーすることになります。データのサイズがさまざまであるため、for ループは望ましくありません。
while (isempty(andover_all{j,1})==1)
if andover_all{h,33}=='';
current_data{k,4}= formated_date{j};
k=k+1;
else
current_data{i,1}=formated_date{j};
current_data{i,2}=andover_data{33}(j);
i=i+1;
end
h=h+1;
end
Andover_all は文字列の配列で、current_data と andover_data は混合データ型のセル配列です。isempty、[]、cellfun(@isempty,andover_data)、およびセル要素を比較できる関数 eq.m を使用してみましたが、どれも機能しません。また、データから空のセルを削除したくありません。スキップするだけです。
何かアイデアがあれば教えてください