discretize
Agrupa dados numéricos em intervalos (bins).
Categoria: Language Fundamentals > Data Types
Sintaxe
Y = discretize(X, edges)
Retorna o número do bin de cada elemento, usando as bordas edges.
Y = discretize(X, n)
Usa n bins de mesma largura cobrindo os dados.
Y = discretize(X, edges, values)
Retorna a entrada correspondente de values em vez do número do bin.
[Y, E] = discretize(___)
Também retorna as bordas dos bins.
Y = discretize(___, 'IncludedEdge', 'right')
Torna os bins fechados à direita.
Descrição
O bin k cobre edges(k) <= x < edges(k+1), de modo que um valor igual a uma borda interna cai no bin à direita dela. Só o último bin inclui por padrão sua borda superior. Com 'IncludedEdge', 'right', os bins são (edges(k), edges(k+1)] e o primeiro bin inclui sua borda inferior.
Dados fora do intervalo das bordas dão NaN. Use accumarray ou histcounts para contar quantos caem em cada bin.
Argumentos de entrada
X- Array numérico.
edges- Vetor crescente de bordas.
values- Um valor por bin.
Argumentos de saída
Y- Números dos bins (ou
values), comNaNpara dados fora de todos os bins. E- Bordas dos bins.
Exemplo
Números e rótulos de bins
x = [1 5 9 10];
discretize(x, [0 5 10])
discretize(x, [0 5 10], 'IncludedEdge', 'right')
discretize([0 1 2 3], [0 2 4], [10 20])
discretize([0.5 20], [0 2 4])
ans = 1×4
1 2 2 2
ans = 1×4
1 1 2 2
ans = 1×4
10 10 20 20
ans = 1×2
1 NaN
Observações
A opção 'categorical' e entrada datetime não estão disponíveis no MatLivre; use os números de bin com categorical(Y, 1:n, nomes).