Finding which rows in table contain NaN, save those as new table

197 vues (au cours des 30 derniers jours)
new2matlab
new2matlab le 6 Fév 2020
Commenté : David Ebert le 3 Oct 2022
Im looking to find a way to figure our which rows contain a 'NaN' in column 5, and then save all of those that do as a new table

Réponse acceptée

Guillaume
Guillaume le 6 Fév 2020
Assuming your input is a table:
nantable = yourtable(isnan(yourtable{:, 5}), :) %keep all rows whose 5th column is nan

Plus de réponses (1)

Adam Danz
Adam Danz le 6 Fév 2020
Modifié(e) : Adam Danz le 7 Fév 2020
If the tables all contain the same variable names (headers), use the variable names to index columns rather than column number. This is one of the strengths of tables over matrices and cell arrays. If the variable names are different, then you'll have to use numeric indexing.
Suppose column 5 is named "MyData" and the table is named "T".
nanIdx = isnan(T.MyData);
% If you must use numeric indexing,
% nanIdx = isnan(T{:,5});
Create the new table
Tnew = T(nanIdx,:);

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by