How to remove NaNs from a structure
Ältere Kommentare anzeigen
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 Kommentar
madhan ravi
am 8 Jul. 2019
Attach your data file.
Antworten (1)
Abhishek Kumar
am 8 Jul. 2019
Bearbeitet: madhan ravi
am 8 Jul. 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
Kategorien
Mehr zu Cell Arrays finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!