extract column name of table with Nan column

4 次查看(过去 30 天)
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'}

采纳的回答

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

更多回答(1 个)

Peter Perkins
Peter Perkins 2019-5-20
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.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by