欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > MATLAB中的合并分类数组

MATLAB中的合并分类数组

2025/5/13 4:41:31 来源:https://blog.csdn.net/jk_101/article/details/133311583  浏览:    关键词:MATLAB中的合并分类数组

目录

创建分类数组

串联分类数组

创建具有不同类别的分类数组

串联具有不同类别的数组

分类数组的并集


        此示例演示了如何合并两个分类数组。

创建分类数组

        创建分类数组 A,其中包含教室 A 中的 25 个学生的首选午餐饮料。

rng('default')
A = randi(3,[25,1]);
A = categorical(A,1:3,{'milk' 'water' 'juice'});

A 是一个 25×1 的分类数组,包含三个不同的类别:milk、water 和 juice。

汇总分类数组A。

summary(A)milk        6 water       5 juice      14 

        教室 A 中的六个学生喜欢牛奶,五个学生喜欢水,十四个学生喜欢果汁。

        创建另外一个分类数组 B,其中包含教室 B 中的 28 个学生的首选饮料。

B = randi(3,[28,1]);
B = categorical(B,1:3,{'milk' 'water' 'juice'});

B 是一个 28×1 的分类数组,包含与 A 相同的类别。

汇总分类数组 B

summary(B)milk        9 water       8 juice      11 

        教室 B 中的九个学生喜欢牛奶,八个学生喜欢水,七个学生喜欢果汁。

串联分类数组

        将教室 A 和 B 中的数据串联为一个单独的分类数组 Group1。

Group1 = [A;B];

        汇总分类数组 Group1。

summary(Group1)milk       15 water      13 juice      25 

        Group1 是一个包含以下三个类别的 53×1 分类数组:milk、water 和 juice。

创建具有不同类别的分类数组

        创建一个分类数组 Group2,其中包含为其提供了额外的苏打饮料选择的 50 个学生的数据。

Group2 = randi(4,[50,1]);
Group2 = categorical(Group2,1:4,{'juice' 'milk' 'soda' 'water'});

        汇总分类数组 Group2。

summary(Group2)juice      12 milk       14 soda       10 water      14 

        Group2 是一个包含以下四个类别的 50×1 分类数组:juice、milk、soda 和 water。

串联具有不同类别的数组

        串联 Group1 和 Group2 中的数据。

students = [Group1;Group2];

        汇总生成的分类数组 students。

summary(students)milk       29 water      27 juice      37 soda       10 

        串联操作会将第二个输入所独有的类别 soda 追加到第一个输入的类别列表的末尾:milk、water、juice、soda。

        使用 reordercats 更改分类数组 students 中的类别顺序。

students = reordercats(students,{'juice','milk','water','soda'});categories(students)
ans = 4x1 cell{'juice'}{'milk' }{'water'}{'soda' }

分类数组的并集

        使用函数 union 可查找 Group1 和 Group2 中的唯一响应。

C = union(Group1,Group2)
C = 4x1 categoricalmilk water juice soda 

        union 返回 Group1 和 Group2 的合并值并且没有重复项。在本例中,C 等效于串联的类别 students。

        此示例中的所有分类数组都不是有序的。要合并有序分类数组,它们必须具有相同的类别集合,包括其顺序。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词