Read a data set and bin it to different groups.

2004017 2004018 2004018 2006019 2004019 2004017 2004018 2004018 2005019 2004019 2004017 2004018 2004018 2008019 2004019
The first four numbers of each data give the year. I want to bin the data according to their years. How should I do that? if the year is 2004 assign it to an array T1. if the year is 2005 assign it to an array T2. So on.

 Respuesta aceptada

Rick Rosson
Rick Rosson el 18 de Jul. de 2014
A = [ List of numbers ];
x = floor(A/1000);
T1 = A( x == 2004 );
T2 = ...
...

1 comentario

anton fernando
anton fernando el 18 de Jul. de 2014
Thank you very much. Similarly how can I do that for the last 3 digits in the numbers. I want to read last 3 digits and bin them to intervals. If last 3 digits in between 0-5, 5-10, 10-15 so on.

Iniciar sesión para comentar.

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 18 de Jul. de 2014
a=[2004017 2004018 2004018 2006019 2004019 2004017 2004018 2004018 2005019 2004019 2004017 2004018 2004018 20084019 2004019]
b=arrayfun(@num2str,a,'un',0)
c=cellfun(@(x) str2num(x(1:4)),b)
[ii,jj,kk]=unique(c)
idx=arrayfun(@(x) find(ismember(c,x)),ii,'un',0)
out=cellfun(@(x) a(x),idx,'un',0)
celldisp(out)

Categorías

Etiquetas

Preguntada:

el 18 de Jul. de 2014

Comentada:

el 18 de Jul. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by