Effacer les filtres
Effacer les filtres

How to remove NaNs from a structure

12 vues (au cours des 30 derniers jours)
Casey McMahon
Casey McMahon le 8 Juil 2019
Modifié(e) : madhan ravi le 8 Juil 2019
Hi,
I have a structure that has eighteen variables (columns) and 594 participants (rows) (18 x 594), the first two variables are strings, the next sixteen are doubles.
My goal is to identify the NaNs and then remove the whole row.
This is what I have from when I did work with a matrix:
countNans = sum(isnan((DATA),2); %Counts missing values (nans) per row over the 2nd dimension
idClean = find(countNans==0); %Only keep rows of participants with all data
cleanData = cleanData(idClean,:);
However, this method is no longer working, with MATLAB saying that isnan does not work for structures.
Thanks!
  1 commentaire
madhan ravi
madhan ravi le 8 Juil 2019
Attach your data file.

Connectez-vous pour commenter.

Réponses (1)

Abhishek Kumar
Abhishek Kumar le 8 Juil 2019
Modifié(e) : madhan ravi le 8 Juil 2019
A workaround for this would be converting the struct to matrix and then get rid of the NaNs and if you need it again convert it to struct.
cell2mat(struct2cell(YourStructure)) % this will convert your structure to matrix
cell2struct(cellArray, fields, dim) % this will convert it again to struct

Catégories

En savoir plus sur Structures 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