主要内容

allunique

确定是否所有值都是唯一的

自 R2025a 起

说明

如果 A 中的所有值都是唯一的,则 tf = allunique(A) 返回逻辑值 1 (true)。否则,allunique 将返回逻辑值 0 (false)。如果 A 是表,则 allunique 的行为如同您调用了 allunique(A,"rows")

示例

tf = allunique(A,"rows")A 的每行视为单个实体,如果每行都是唯一的,则返回逻辑值 1 (true)。

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

示例

示例

全部折叠

创建一个具有重复值的向量。然后,确定该向量中的所有元素是否具有唯一值。

A = [9; 2; 9; 9; 5; 2];
tf = allunique(A)
tf = logical
   0

创建一个包含缺失值的向量。然后,确定该向量中的所有元素是否具有唯一值。allunique 将缺失值的每个实例视为不同值。

A = [5; 8; NaN; NaN];
tf = allunique(A)
tf = logical
   1

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

A = ["dog" "cat" "horse" "dog "];
tf = allunique(A)
tf = logical
   1

创建一个包含一些重复值的矩阵。然后,确定该矩阵中的所有值是否唯一。

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

     1     2
     2     1
     3     4
     4     3

tfVal = allunique(A)
tfVal = logical
   0

确定矩阵中的所有行是否唯一。

tfRow = allunique(A,"rows")
tfRow = logical
   1

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

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 

确定表中的所有行是否唯一。对于表格数据,allunique 的行为始终如同您指定了 "rows" 选项,并且它忽略行名称。因此,第一行和第三行被视为重复行。

tf = allunique(T)
tf = logical
   0

输入参数

全部折叠

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

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

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

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

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

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

  • ne(不等于)

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

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

扩展功能

全部展开

版本历史记录

在 R2025a 中推出