replace [ ] in an array with 0's

3 views (last 30 days)
alpedhuez
alpedhuez on 7 Jul 2020
Edited: alpedhuez on 7 Jul 2020
talks about replace [] with 0's for one column. But suppose I have a table with many columns and I want to run this operation for multiple colmns. Is there any way simpler than writing another loop?

Accepted Answer

Image Analyst
Image Analyst on 7 Jul 2020
tables use functions like ismissing() and fillmissing():
newTable = fillmissing(badTable, 'constant', 0)
  1 Comment
alpedhuez
alpedhuez on 7 Jul 2020
Edited: alpedhuez on 7 Jul 2020
Invalid fill constant type.
[intConstVj,extMethodVj] = checkArrayType(Avj,intMethod,intConstVj,extMethodVj,x,true,ma);
B.(vj) = fillTableVar(indVj,A.(vj),intMethod,intConst,extMethod,x,useJthFillConstant,useJthExtrapConstant,mavj);
B = fillTable(A,intM,intConstOrWinSize,extM,x,dataVars,ma);

Sign in to comment.

More Answers (2)

KSSV
KSSV on 7 Jul 2020
You can get all the emtpy functions in a cell using cellfun ..
idx = cellfun(@isempty,C) ; % get empty cells in a cell array C
C(idx) = 0 ; % replace with zero
Note that, cellfun also uses loop inside.
  1 Comment
alpedhuez
alpedhuez on 7 Jul 2020
Edited: alpedhuez on 7 Jul 2020
Did not work with table

Sign in to comment.


KSSV
KSSV on 7 Jul 2020
You run on each column of a table..
  5 Comments
dpb
dpb on 7 Jul 2020
Did you try it? I dunno, don't have your table but can only have empty [] in cell array so the table column content must be a cell it would seem...
Again, w/o a sample piece of data to work on it's tough...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!