Documentation

mode

Most frequent values in array

Syntax

M =mode(A)
M =mode(A,dim)
[M,F] = mode(___)
[M,F,C] = mode(___)

Description

example

M= mode(A)returns the sample mode ofA, which is the most frequently occurring value inA. When there are multiple values occurring equally frequently,modereturns the smallest of those values. For complex inputs, the smallest value is the first value in a sorted list.

  • IfA是a vector, thenmode(A)returns the most frequent value ofA.

  • IfA是a nonempty matrix, thenmode(A)returns a row vector containing the mode of each column ofA.

  • IfA是an empty 0-by-0 matrix,mode(A)returnsNaN.

  • IfA是a multidimensional array, thenmode(A)treats the values along the first array dimension whose size does not equal1as vectors and returns an array of most frequent values. The size of this dimension becomes1while the sizes of all other dimensions remain the same.

example

M= mode(A,dim)returns the mode of elements along dimensiondim. For example, ifA是a matrix, thenmode(A,2)是一个列向量包含吗the most frequent value of each row

example

[M,F] = mode(___)also returns a frequency arrayF, using any of the input arguments in the previous syntaxes.F是the same size asM, and each element ofFrepresents the number of occurrences of the corresponding element ofM.

example

[M,F,C] = mode(___)also returns a cell arrayCof the same size asMandF. Each element ofC是a sorted vector of all values that have the same frequency as the corresponding element ofM.

Examples

collapse all

Define a 3-by-4 matrix.

A = [3 3 1 4; 0 0 1 1; 0 1 2 4]
A =3 3 1 4 0 0 1 1 0 1 2 4

找到最frequent value of each column.

M =mode(A)
M =0 0 1 4

Define a 3-by-4 matrix.

A = [3 3 1 4; 0 0 1 1; 0 1 2 4]
A =3 3 1 4 0 0 1 1 0 1 2 4

找到最frequent value of each row.

M =mode(A,2)
M =3 0 0

Create a 1-by-3-by-4 array of integers between1and10.

A = gallery('integerdata',10,[1,3,4],1)
A = A(:,:,1) = 10 8 10 A(:,:,2) = 6 9 5 A(:,:,3) = 9 6 1 A(:,:,4) = 4 9 5

找到最frequent values of this 3-D array along the second dimension.

M =mode(A)
M =M(:,:,1) = 10 M(:,:,2) = 5 M(:,:,3) = 1 M(:,:,4) = 4

This operation produces a 1-by-1-by-4 array by finding the most frequent value along the second dimension. The size of the second dimension reduces to1.

Compute the mode along the first dimension ofA.

M =mode(A,1); isequal(A,M)
ans =logical1

This returns the same array asAbecause the size of the first dimension is1.

Define a 3-by-4 matrix.

A = [3 3 1 4; 0 0 1 1; 0 1 2 4]
A =3 3 1 4 0 0 1 1 0 1 2 4

找到最frequent value of each column, as well as how often it occurs.

[M,F] = mode(A)
M =0 0 1 4
F =2 1 2 2

F(1)2sinceM(1)occurs twice in the first column.

Define a 3-by-4 matrix.

A = [3 3 1 4; 0 0 1 1; 0 1 2 4]
A =3 3 1 4 0 0 1 1 0 1 2 4

找到最frequent value of each row, how often it occurs, and which values in that row occur with the same frequency.

[M,F,C] = mode(A,2)
M =3 0 0
F =2 2 1
C =3x1 cell array{[ 3]} {2x1 double} {4x1 double}

C{2}是the 2-by-1 vector[0;1]since values0and1in the second row occur with frequencyF(2).

C{3}是the 4-by-1 vector[0;1;2;4]since all values in the third row occur with frequencyF(3).

Define a 1-by-4 vector of 16-bit unsigned integers.

A = gallery('integerdata',10,[1,4],3,'uint16')
A =1x4 uint16 row vector6 3 2 3

找到最frequent value, as well as the number of times it occurs.

[M,F] = mode(A),
M =uint163
F = 2
class(M)
ans = 'uint16'

M是the same class as the input,A.

Input Arguments

collapse all

Input array, specified as a vector, matrix, or multidimensional array.Acan be a numeric array, categorical array, datetime array, or duration array.

NaNorNaT(Not a Time) values in the input array,A, are ignored. Undefined values in categorical arrays are similar toNaNs in numeric arrays.

Dimension to operate along, specified as a positive integer scalar. If no value is specified, then the default is the first array dimension whose size does not equal 1.

Dimensiondimindicates the dimension whose length reduces to1. Thesize(M,dim)1, while the sizes of all other dimensions remain the same.

Consider a two-dimensional input array,A.

  • Ifdim = 1, thenmode(A,1)returns a row vector containing the most frequent value in each column.

  • Ifdim = 2, thenmode(A,2)returns a column vector containing the most frequent value in each row.

modereturnsAifdim是greater thanndims(A).

Data Types:double|single|int8|int16|int32|int64|uint8|uint16|uint32|uint64

Output Arguments

collapse all

Most frequent values returned as a scalar, vector, matrix, or multidimensional array. When there are multiple values occurring equally frequently,modereturns the smallest of those values. For complex inputs, this is taken to be the first value in a sorted list of values.

The class ofM是the same as the class of the input array,A.

Frequency array returned as a scalar, vector, matrix, or multidimensional array. The size ofF是the same as the size ofM, and each element ofFrepresents the number of occurrences of the corresponding element ofM.

The class ofF是alwaysdouble.

Most frequent values with multiplicity returned as a cell array. The size ofC是the same as the size ofMandF, and each element ofC是a sorted column vector of all values that have the same frequency as the corresponding element ofM.

Tips

  • Themodefunction is most useful with discrete or coarsely rounded data. The mode for a continuous probability distribution is defined as the peak of its density function. Applying themodefunction to a sample from that distribution is unlikely to provide a good estimate of the peak; it would be better to compute a histogram or density estimate and calculate the peak of that estimate. Also, themodefunction is not suitable for finding peaks in distributions having multiple modes.

Extended Capabilities

Introduced before R2006a

Was this topic helpful?