Borrar filtros
Borrar filtros

erasing all the rows that begin with NaN

1 visualización (últimos 30 días)
Sabbas
Sabbas el 9 de Jul. de 2012
I have a cell matric.
The first two columns of this matrix are
[1x28 char] [ NaN]
[ NaN] [ NaN]
'MART' 'TOTATRIA'
'PREGORY' 'TOSTE'
[ NaN] [ NaN]
My goal is to erase these rows which have as a first element NaN
In the above example I want to erase row2 and the last one
thanks

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 9 de Jul. de 2012
just
out = A(~cellfun(@(x)all(isnan(x)),A(:,1)),:)

Más respuestas (2)

Thomas
Thomas el 9 de Jul. de 2012
If A is your input cell matrix
out=cellfun(@isnan,A(:,1),'UniformOutput',false)
count=cellfun(@(x)any(x==1),out);
A(~count,:)
  10 comentarios
Sabbas
Sabbas el 9 de Jul. de 2012
Editada: Sabbas el 9 de Jul. de 2012
it works for me when I choose the first two columns. But not when I use the whole matrix
Sabbas
Sabbas el 9 de Jul. de 2012
Editada: Sabbas el 9 de Jul. de 2012
I used
count=cellfun(@(x)any(x==1),out);
A(count==1,:)=[]
and it seems to work
could you plese verify that the code is equivalent to the one you provided?
thanks

Iniciar sesión para comentar.


Jan
Jan el 9 de Jul. de 2012
Editada: Jan el 9 de Jul. de 2012
A(cellfun(@(x) isequalwithequalnans(x, NaN), C), :)

Categorías

Más información sobre Data Type Identification 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