MATLAB Answers


extract column name of table with Nan column

Asked by joms
on 17 May 2019
Latest activity Answered by Peter Perkins
on 20 May 2019
How can i return the label name of column with values all Nan
sample1=[1 2 3]';%Sample data
sample2=[4 5 6]';%Sample data
sample3=[7 8 9]';%Sample data
sample4=nan(3,1);%Sample data
patients = table(sample4,sample2,sample3)
sample4 sample2 sample3
_______ _______ _______
NaN 4 7
NaN 5 8
NaN Nan 9
output should be 'sample4' as cell array


Sign in to comment.




2 Answers

Answer by madhan ravi
on 17 May 2019
 Accepted Answer


  1 Comment

Thank you very much madhan ravi! This is exactly im looking for.

Sign in to comment.

Answer by Peter Perkins
on 20 May 2019

Using {:,:} to convert the entire table to a homogeneous array is perhaps one way to do this, but scales badly very quickly as the table gets big.
allMissing = all(ismissing(patients),1)
gives you a logical vector of variables in the table all of whose values are missing (whether or not they are numeric). Use that as a subscript into patients.Properties.VariableNames.


Sign in to comment.