extract column name of table with Nan column

10 views (last 30 days)
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'}

Accepted Answer

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

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.

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2013b

Community Treasure Hunt

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

Start Hunting!