MATLAB Answers

extract column name of table with Nan column

15 views (last 30 days)
joms
joms on 17 May 2019
Answered: 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
NanLabels={'sample4'}

  0 Comments

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 17 May 2019
patients.Properties.VariableNames(all(isnan(patients{:,:})))

  1 Comment

joms
joms on 17 May 2019
Thank you very much madhan ravi! This is exactly im looking for.

Sign in to comment.

More Answers (1)

Peter Perkins
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.

  0 Comments

Sign in to comment.

Sign in to answer this question.

Products


Release

R2013b

Translated by