Remove missing from cell array

12 visualizaciones (últimos 30 días)
Gian Pietro Luca
Gian Pietro Luca el 30 de Mayo de 2019
Comentada: Andreas Martin el 14 de Jul. de 2020
I have used readcell to read tabular data.
How can the missing elements be removed?
6×1 cell array
{'a' }
{'b' }
{'c' }
{'d' }
{1×1 missing}
{1×1 missing}
  2 comentarios
Gian Pietro Luca
Gian Pietro Luca el 30 de Mayo de 2019
But how? I tried the obvious rmmissing(cellarray) and it fails with:
Error using matlab.internal.math.ismissingKernel/arraySwitch (line 79)
First argument must be numeric, logical, datetime, duration, calendarDuration, string, categorical, char, cellstr, table,
or timetable.

Iniciar sesión para comentar.

Respuestas (1)

madhan ravi
madhan ravi el 30 de Mayo de 2019
yourcell(cellfun(@ischar,C))
  3 comentarios
Gian Pietro Luca
Gian Pietro Luca el 30 de Mayo de 2019
Thanks. It is helpful and seems to work but, is it the "standard" way to deal with missing parameters? It seems a bit overbloated: A=A(cellfun(@ischar,A)). Also, if I have a mixture of numbers and strings, it might not work, right?
Andreas Martin
Andreas Martin el 14 de Jul. de 2020
Yes, in that case it doesn't work. Try then this instead:
C( cellfun( @(c) isa(c,'missing'), C ) ) = {[]};

Iniciar sesión para comentar.

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by