Binning of data except from histcounts?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Zara Khan
el 9 de Oct. de 2018
Comentada: Walter Roberson
el 14 de Nov. de 2018
I am a matlab R2014b user. Using histcounts for binning a dataset is not giving me the exact result. Is there any alternative for this ?
A = [0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
N = histcounts(X,6)
>>N =
6 0 2 0 0 2
This what I am getting every time.
A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
[N,Categories] = histcounts(C)
And for the above I am getting this error.
Error using histcounts Expected input number 1, x, to be one of these types:
numeric
Instead its type was categorical.
Error in histcounts (line 96) validateattributes(x,{'numeric'},{'real'}, mfilename, 'x', 1)
0 comentarios
Respuesta aceptada
Bruno Luong
el 9 de Oct. de 2018
ndivisions=4;
n = length(A);
partnum = floor(1+(0:n-1)/n*ndivisions);
n1 = accumarray(partnum(:),A(:)==1)
18 comentarios
Walter Roberson
el 14 de Nov. de 2018
Sounds like you would calculate aa vector of the four counts and bar() that .
Más respuestas (2)
Walter Roberson
el 9 de Oct. de 2018
histcounts did not support categorical back then.
Use the second output of ismember to get the bin number, which you can then histc or histcounts or accumarray (most efficient)
4 comentarios
Walter Roberson
el 9 de Oct. de 2018
Interesting, I did not realize that ismember would not handle nan. It does make a kind of sense, in that nan have the oddity that
nan == nan
is false.
Bruno Luong
el 9 de Oct. de 2018
A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
[U,~,J] = unique(A);
inan = find(isnan(U),1,'first');
if inan
U=U(1:inan);
J=min(J,inan);
end
counts = accumarray(J(:), 1);
[U(:),counts]
ans =
0 14
1 11
NaN 2
4 comentarios
Bruno Luong
el 9 de Oct. de 2018
Sorry but this is not binning, binning means all the 1s fall at the same place: at the position 1.
If you use the wrong wording you should expect get the wrong answer.
Ver también
Categorías
Más información sobre Graphics Object Properties en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!