Hi, I have a cell array (P) of size 5000x1. Each element of this cell array is another cell array of variable size which contains some words. The task is to find the words that are present in more than a certain number of elements (rows) of the array P. Thanks

1 comentario

John D'Errico
John D'Errico el 28 de Oct. de 2017
What have you tried? If nothing, then why not? If you want help, show what you have done. Otherwise this becomes merely a doit4me.

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Oct. de 2017

0 votos

Hint: You are not told which orientation the individual cell arrays are. You need to make them all the same orientation before you can get much further.
bar = cellfun(@(C) C(:), foo, 'uniform', 0);
Then you can pull all of the contents into a single array:
vertcat(bar{:})

3 comentarios

Mahmoud Zeydabadinezhad
Mahmoud Zeydabadinezhad el 29 de Oct. de 2017
Editada: Walter Roberson el 29 de Oct. de 2017
I did this:
temp = cellfun(@unique, train,'UniformOutput',false);
all_words = vertcat(temp(:));
But the all_words is the same as temp and that's not what I wanted.
Walter Roberson
Walter Roberson el 29 de Oct. de 2017
Notice I wrote vertcat(bar{:}) -- pay attention to brackets.
Mahmoud Zeydabadinezhad
Mahmoud Zeydabadinezhad el 29 de Oct. de 2017
Thank you!

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by