主要内容

numunique

唯一值的数目

自 R2025a 起

说明

n = numunique(A) - 返回 A 中唯一值的数量。如果 A 是表,则 numunique 的行为如同您调用了 numunique(A,"rows")

示例

n = numunique(A,"rows")A 的每行视为单个实体,并返回 A 中唯一行的数量。

"rows" 选项不支持元胞数组。

示例

示例

全部折叠

创建一个具有重复值的向量。然后,确定该向量中唯一值的数目。

A = [9; 2; 9; 9; 5; 2];
n = numunique(A)
n = 
3

定义包含缺失值的向量。然后,确定向量中唯一值的数量。numunique 将每个缺失值实例视为不同值。

A = [5; 8; NaN; NaN];
n = numunique(A)
n = 
4

创建一个字符串数组,其中某个字符串具有尾随空白。然后,确定该数组中唯一值的数目。numunique 将具有尾随空白的字符串视为不同字符串。

A = ["dog" "cat" "horse" "dog "];
n = numunique(A)
n = 
4

创建一个包含一些重复值的矩阵。然后,确定该矩阵中唯一值的数目。

A = [1 2; 3 4; 1 2; 1 2; 3 4]
A = 5×2

     1     2
     3     4
     1     2
     1     2
     3     4

nVal = numunique(A)
nVal = 
4

确定该矩阵中唯一行的数目。

nRow = numunique(A,"rows")
nRow = 
2

创建一个包含某些重复行的表。

A = [38; 43; 38; 40];
B = logical([1; 0; 1; 1]);
T = table(A,B,RowNames=["Smith" "Johnson" "Williams" "Jones"])
T=4×2 table
                A       B  
                __    _____

    Smith       38    true 
    Johnson     43    false
    Williams    38    true 
    Jones       40    true 

确定该表中唯一行的数目。对于表格数据,numunique 的行为始终如同您指定了 "rows" 选项,并且它忽略行名称。

n = numunique(T)
n = 
3

输入参数

全部折叠

输入数据,指定为数组、表或时间表。

  • 如果 A 是表,则 numunique 不会考虑行名称。值相同而名称不同的两行将被视为相等。

  • 如果 A 是时间表,则 numunique 会考虑行时间。值相同而时间不同的两行不会被视为相等。

  • 如果 A 是分类数组,则排序顺序由类别的顺序确定。要查看分类数组的排序顺序,请使用 categories 函数。

A 也可以是具有类方法 unique 或以下类方法的对象:

  • sort(如果指定 sortrows 选项,则为 "rows"

  • ne(不等于)

方法不能具有冲突的行为或结果。sortsortrows 必须使用稳定的排序算法。例如,可以将 A 指定为派生自公共根类的异构数组,例如图形对象数组。

numunique 将缺失值和具有尾随空白的字符串视为唯一值。

提示

  • 要确定每个唯一值在输入数据中出现的次数,请使用 groupcounts 函数。

扩展功能

全部展开

版本历史记录

在 R2025a 中推出