File Exchange

image thumbnail

Find columns which have all constant values

version 1.0.0 (1.18 KB) by Chenghao
This function works for NaN, Missing, numeric, string, boolean, etc

1 Download

Updated 21 Nov 2018

View License

Generate test data:

clear;

n = 10;
c1 = repmat(3,[n,1]); % n times of value 3
c2 = rand(n,1); % n values
c3 = repmat(NaN, [n,1]);
c4 = c3;
c4(4) = 2;
c5 = repmat(missing,[n,1]);
c6 = cellstr(repmat('test',n,1));
c7 = c6;
c7{7} = 'hello';
c8 = repmat(false,[n,1]);
c9 = c8;
c9(9) = true;

T = table(c1,c2,c3,c4,c5,c6,c7,c8,c9);

cellData = table2cell(T);
constantColumnIndex = constantColumnExtraction(cellData);
constantColumnNames = T.Properties.VariableNames(constantColumnIndex);

Cite As

Chenghao (2021). Find columns which have all constant values (https://www.mathworks.com/matlabcentral/fileexchange/69489-find-columns-which-have-all-constant-values), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

Jan

What about:
function const = constantColumnExtraction(T)
C = table2cell(T);
nCol = size(C, 2);
isconst = true(1, nCol); % Pre-allocation
for k = 1:nCol
isconst(k) = isequaln(C{:, k});
end
const = find(isconst);
end

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

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

Start Hunting!