How to delete rows that contain NaN in a table
207 ビュー (過去 30 日間)
古いコメントを表示
Hello all,
So how do you delete all the rows that contain NaNs in a table (not a matrix or a cell array)? I have tried various versions of
tableA(~any(~isnan(tableA), 2),:)=[];
but none work.
Thank you
1 件のコメント
Image Analyst
2017 年 2 月 3 日
Make it easy for us to help you by suppling code to generate a table with nans in it. Then I can try some things. And do any of your columns contain anything other than numbers? Like strings or something?
採用された回答
dpb
2017 年 2 月 3 日
編集済み: dpb
2017 年 6 月 12 日
If the table uses default missing values for the various types (see documentation for the various types; NaN is for numeric) then
tableA=tableA(~any(ismissing(tableA),2),:);
should do the trick. This will eliminate other variables that are missing besides numeric, too, of course, leaving only a complete table.
2 件のコメント
sensation
2017 年 6 月 12 日
Hi,
I have tried this but got an error: Error using any Not enough input arguments.
I have first column as string and second is numeric with nan values sometimes inside. I want to get riw of those rows with nans.
thank you
dpb
2017 年 6 月 12 日
Missing parens... ismissing(tableA) returns 2D logical, need any applied to it in 2d dimension to return the rows with missing value, then keep the complement.
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!