文档

联盟

设置两个数组的并集

语法

C = union(A,B)
C = union(A,B,'rows')
[C,ia,ib] = union(A,B)
[C,ia,ib] = union(A,B,'rows')
[C,ia,ib] = union(___setOrder)
[C,ia,ib] = union(A,B,'legacy')
[C,ia,ib] = union(A,B,'rows','legacy')

描述

例子

C=联盟(A、B返回的组合数据一个而且B没有重复。C是有序的。

  • 如果一个而且B那么,是桌子还是时间表联盟返回两个表的合并行集。的航班时刻表,联盟考虑行时间以确定相等性,并对输出时间表进行排序C行乘以。

C=联盟(A、B, '行')处理每一行一个每一行B作为单个实体,并返回组合的行一个而且B,没有重复。C是有序的。

“行”选项不支持单元格数组,除非其中一金宝app个输入是分类数组或日期时间数组。

例子

Ciaib= union(A、B还返回索引向量ia而且ib

  • 一般来说,中的值C的元素的有序组合(ia)而且B (ib)

  • 如果一个而且B那么,是桌子还是时间表C的行是有序的组合吗:一个(ia)而且: B (ib)

例子

Ciaib= union(A、B, '行')还返回索引向量ia而且ib,这样的行C的行是排序的组合吗:一个(ia)而且: B (ib)

例子

Ciaib= union(___setOrder返回C以特定顺序使用前面语法中的任何输入参数。setOrder可以“排序”“稳定”

  • “排序”- - - - - -C是有序的。这是默认值。

  • “稳定”- - - - - -C一个

例子

Ciaib= union(A、B“遗产”)而且Ciaib= union(A、B、“行”、“遗产”)的行为联盟函数来自R2012b和之前的版本。

“遗产”选项不支持分类数组、日期时间数组金宝app、持续时间数组、表或时间表。

例子

全部折叠

定义两个具有相同值的向量。

A = [5 7 1];B = [3 1 1];

求向量的并集一个而且B

C = union(A,B)
C =1 3 5 7

定义两个具有相同行的表。

A = table([1:5]',[“一个”“B”“C”' D '“E”),逻辑([0,1,0,1,0]))
一个=5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假2 B真3 C假4 D真5 E假
B = table([1:2:10]',[“一个”“C”“E”‘G’“我”),逻辑(0(5、1)))
B =5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假3 C假5 E假7 G假9 I假

求表的并集一个而且B

C = union(A,B)
C =7×3表Var1 Var2 Var3 ____ ____ _____ 1 A假2 B真3 C假4 D真5 E假7 G假9 I假

定义两个具有相同值的向量。

A = [5 7 1];B = [3 1 1];

求向量的并集一个而且B,以及索引向量,ia而且ib

[C,ia,ib] = union(A,B)
C =1 3 5 7
ia =3 1 2
Ib = 1

中的值C的组合值是(ia)而且B (ib)

定义一个表,一个,包括三个人的性别、年龄和身高。

A =表([“米”“米”“F”]、[27;52;31],(74;68;64),...“VariableNames”, {“性别”“年龄”“高度”},...“RowNames”, {“泰德”“弗雷德”“贝蒂”})
一个=3×3表性别年龄身高______ ___ ______特德M 27 74弗雷德M 52 68贝蒂F 31 64

定义一个表,B用相同的变量一个

B = table([“F”“米”]、[64;68],[31;47],...“VariableNames”, {“性别”“高度”“年龄”},...“RowNames”, {梅格的“乔”})
B =2×3表性别身高年龄______ ______ ___梅格F 64 31乔M 68 47

求表的并集一个而且B,以及索引向量,ia而且ib

[C,ia,ib] = union(A,B)
C =4×3表性别年龄身高______ ___ ______ Betty F 31 64 Ted M 27 74 Joe M 47 68 Fred M 52 68
ia =3 1 2
Ib = 2

的数据梅格而且贝蒂都是一样的。联盟只返回的索引一个,对应于贝蒂

定义两个共用一行的矩阵。

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

求的合并行一个而且B,没有重复,以及索引向量ia而且ib

[C,ia,ib] = union(A,B,“行”
C =0 0 1 1 2 3 2 2 2
ia =2 1
Ib = 1

一排排的C组合行是:一个(ia)而且: B (ib)

使用setOrder参数指定中的值的顺序C

指定“稳定”如果你想要这些值C与…有相同的顺序一个而且B

A = [5 7 1];B = [3 1 1];[C,ia,ib] = union(A,B,“稳定”
C =5 7 1 3
ia =1 2 3
Ib = 1

或者,您可以指定“排序”秩序。

A = [5 7 1];B = [3 1 1];[C,ia,ib] = union(A,B,“排序”
C =1 3 5 7
ia =3 1 2
Ib = 1

定义两个向量

A = [5 NaN 1];B = [4 NaN NaN];

求向量的并集一个而且B

C = union(A,B)
C =1 4 5 NaN NaN NaN

联盟对待值为不同的。

创建一个字符向量的单元格数组,一个

A = {“狗”“猫”“鱼”“马”};

创建一个字符向量的单元格数组,B,其中一些向量有尾随空白。

B = {“狗”“猫”“鱼”“马”};

结合以下元素一个而且B

[C,ia,ib] = union(A,B)
C =1×6单元格数组猫,狗,狗,鱼,鱼,马
ia =2 1 3 4
ib =1 3

联盟将字符向量单元格数组中的尾随空格视为不同字符。

创建一个列向量字符数组。

A = [“一个”“B”“C”
一个=3×1字符数组' a b c '
类(一)
Ans = 'char'

创建包含数字类型元素的行向量

B = [68 69 70]
B =68 69 70
类(B)
Ans = 'double'

联盟一个而且B返回一个列向量字符数组。

C = union(A,B)
C =6×1字符数组a b c d e f
类(C)
Ans = 'char'

创建一个包含字母的字符向量一个b,c

A = [“一个”“b”“c”];类(一)
Ans = 'char'

创建包含字母的字符向量的单元格数组cd,e

B = {“c”' d '“e”};类(B)
Ans = 'cell'

结合以下元素一个而且B

C = union(A,B)
C =5×1单元格数组'a' b' c' d' e'

结果,C,是字符向量的单元格数组。

类(C)
Ans = 'cell'

使用“遗产”标记来保存的行为联盟来自R2012b和之前版本的代码。

求并集一个而且B现在的行为。

A = [5 7 1];B = [3 1 1];[C1,ia1,ib1] = union(A,B)
C1 =1 3 5 7
ia1 =3 1 2
Ib1 = 1

求并集一个而且B,并保留遗留行为。

A = [5 7 1];B = [3 1 1];[C2, ia2 ib2] =联盟(A, B,“遗产”
C2 =1 3 5 7
ia2 =1 2
ib2 =3个1

输入参数

全部折叠

输入数组,指定为数字数组、逻辑数组、字符数组、字符串数组、分类数组、日期时间数组、持续时间数组、字符向量的单元格数组、表格或时间表。如果您指定“行”选项,一个而且B必须有相同数量的列。

一个而且B必须是同一类,但有以下例外:

  • 逻辑字符,并且所有数字类都可以与数组。

  • 字符向量的单元格数组可以与字符数组或字符串数组组合。

  • 分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。

  • Datetime数组可以与日期字符向量的单元格数组或单个日期字符向量组合。

有额外的要求一个而且B根据数据类型:

  • 如果一个而且B都是有序分类数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个也不B是顺序的,它们不需要具有相同的类别集,并且使用类别名称执行比较。在本例中,类别为C分类的排序并集是来自一个而且B

  • 如果一个而且B是表或时间表,它们必须有相同的变量名(除了顺序)。对于表,行名将被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,会考虑行时间,因此具有相同值但时间不同的两行不会被认为相等。

  • 如果一个而且B是datetime数组,它们必须在是否指定时区方面彼此一致。

一个而且B也可以是具有以下类方法的对象:

  • 排序(或sortrows“行”选项)

对象类方法必须彼此一致。这些对象包括派生自相同根类的异构数组。例如,一个而且B可以是图形对象的句柄数组。

订单标志,指定为“排序”“稳定”中值(或行)的顺序C

订单的旗帜 意义
“排序” 中的值(或行)C按顺序返回。例如:C = union([5 5 3],[1 2],'sorted')返回C = [1 2 3 5]
“稳定” 中的值(或行)C返回的顺序与它们在中出现的顺序相同一个而且B.例如:C = union([5 5 3],[1 2],'stable')返回C = [5 3 1 2]

输出参数

全部折叠

综合数据一个而且B,以向量、矩阵、表格或时间表的形式返回。如果输入一个而且B是表格还是时间表,那么变量的顺序呢C和里面变量的顺序一样吗一个

下面介绍的形状C当输入是向量或矩阵时,当“遗产”Flag未指定:

  • 如果“行”那么,没有指定FlagC列向量,除非两者都是一个而且B行向量,在哪种情况下C是行向量。例如,联盟([],[1 - 2])返回一个列向量。

  • 如果“行”则指定FlagC矩阵是否包含的组合行一个而且B

输入的类一个而且B的类别C

  • 如果一个而且B那么,是一样的吗C是同一类。

  • 如果你把字符或非双数值类,然后C与非双精度输入是同一个类。

  • 如果你把逻辑,然后C

  • 如果将字符向量的单元格数组与字符,然后C是字符向量的单元格数组。

  • 如果将分类数组与字符向量、字符向量单元格数组或字符串组合,则C是分类数组。

  • 如果将datetime数组与日期字符向量单元格数组或单个日期字符向量组合,则Cdatetime数组。

  • 如果将字符串数组与字符向量或单元格数组的字符向量组合,则C是一个字符串数组。

索引一个属性时,作为列向量返回“遗产”未指定Flag。ia中的值(或行)一个对联盟有贡献。中出现多次的值(或行)一个,然后ia包含值(或行)第一次出现的索引。如果两者都出现一个值一个而且B,然后ia中第一个出现项的索引一个

索引B属性时,作为列向量返回“遗产”未指定Flag。ib中的值(或行)B对联盟有贡献。中唯一出现的重复值(或行)B,然后ib包含该值第一次出现的索引。如果一个值(或行)同时出现一个而且B,然后ib不包含值(或行)的索引。

提示

  • 要从表或时间表中找到关于变量子集的并集,可以使用列下标。例如,你可以使用联盟(一个(:,var), B (:,var)),在那里var是正整数、正整数的向量、变量名、变量名的单元格数组或逻辑向量。或者,您可以使用vartype创建选择指定类型变量的下标。

扩展功能

R2006a之前介绍

这个话题有用吗?