How can I identify the indices of rows containing all NaNs from matrix?

16 vues (au cours des 30 derniers jours)
Deepa T
Deepa T le 31 Mai 2017
Commenté : Star Strider le 1 Juin 2017
I have very large matrices, in which some rows contain all NaN. I don't want to remove these rows. But I wish to identify which index contains all NaN. I have seen code for removing such rows, but how can I extract the index value?
I am not very familiar with MATLAB. Thanks in advance.

Réponse acceptée

Star Strider
Star Strider le 31 Mai 2017
Try this:
M = [rand(3,5); NaN(1,5); rand(4,5); NaN(1,5); rand(2,5)]; % Create Data
NaN_rows = find(all(isnan(M),2)); % Identify ‘NaN’ Rows By Index
  2 commentaires
Deepa T
Deepa T le 1 Juin 2017
Thank you very much. This is exactly what i wanted to do.
Star Strider
Star Strider le 1 Juin 2017
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

Chandrasekhar
Chandrasekhar le 31 Mai 2017
% idenfity NaN's in the matrix
k = isnan(a);
% find the indices of NaN's
find(k==1);
  1 commentaire
Deepa T
Deepa T le 1 Juin 2017
Thank you for your reply. This query helps me to identify every NaN in the dataset, not just the rows with all NaN.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by