当前位置: 首页 > news >正文

Matlab之数组、包含分配给类别的值函数categorical

一、功能

categorical 是为一组有限的离散类别(例如 High、Med 和 Low)赋值的数据类型。这些类别可以采用您指定的数学排序,例如 High > Med > Low,但这并非必须。分类数组可用来有效地存储并方便地处理非数值数据,同时还为数值赋予有意义的名称。分类数组的常见用法是用来指定构成表的各组行。

二、语法

语法1

B = categorical(A) 根据数组 A 创建分类数组。B 的类别是 A 的唯一值且经过排序。

语法2

B = categorical(A,valueset) 为 valueset 中的每个值创建一个类别。B 的类别与 valueset 的值具有相同的顺序。

您可以使用 valueset 来包含 A 中不存在的值的类别。反之,如果 A 包含 valueset 中不存在的任何值,则 B 的对应元素为未定义。

语法3

B = categorical(A,valueset,catnames) 通过将 valueset 中的类别值与 catnames 中的名称匹配来命名 B 中的类别。

语法4

B = categorical(A,___,Name,Value) 创建分类数组,其中通过一个或多个 Name,Value 对组参数指定其他选项。您可以包括上述语法中的任何输入参数。

例如,要指示类别采用数学排序,请指定 'Ordinal',true。

三、输入参数

A — 输入数组

数值数组 | 逻辑数组 | 分类数组 | 日期时间数组 | 持续时间数组 | 字符串数组 | 字符向量元胞数组

输入数组,指定为数值数组、逻辑数组、分类数组、日期时间数组、持续时间数组、字符串数组或字符向量元胞数组。

categorical 会删除作为字符串或字符向量的输入值中的前导和尾部空格。

如果 A 包含缺失值,则 B 的相应元素未定义,并显示为 <undefined>。categorical 函数可将下列值转换为未定义的类别值:

数值数组和持续时间数组中的 NaN

字符串数组中的缺失字符串 (<missing>) 或空字符串 ("")

字符向量元胞数组中的空字符向量 ('')

日期时间数组中的 NaT

分类数组中未定义的值 (<undefined>)

对于未定义的值,B 没有对应的类别。要为缺失值或未定义的值创建显式类别,必须在 catnames 中给出所需的类别名称,并在 valueset 中给出缺失值作为对应的值。

A 还可以是具有以下类方法的对象数组:

unique

eq

valueset — 类别

unique(A) (默认) | 由唯一值组成的向量

类别,指定为由唯一值组成的向量。valueset 的数据类型和 A 的数据类型必须相同,A 为字符串数组时除外。在这种情况下,valueset 可以是字符串数组或字符向量元胞数组。

categorical 会删除作为字符串或字符向量的 valueset 元素中的前导和尾部空格。

catnames — 类别名称

字符向量元胞数组 | 字符串数组

类别名称,指定为字符向量元胞数组或字符串数组。如果不指定 catnames 输入参数,categorical 将使用 valueset 中的值作为类别名称。

要将 A 中多个不同的值合并为 B 中的单个类别,请包括与这些值对应的、完全一样的名称。

四、示例

首先,创建包含温度读数、日期和台站标签的阵列。

Temps = [58; 72; 56; 90; 76];
Dates = {'2017-04-17';'2017-04-18';'2017-04-30';'2017-05-01';'2017-04-27'};
Stations = {'S1';'S2';'S1';'S3';'S2'};

将桩号转换为类别数组。

Stations = categorical(Stations)

显示类别。三个桩号标签是类别。

categories(Stations)

创建包含温度、日期和桩号标签的表。

T = table(Temps,Dates,Stations)

显示从站S2获取的读数。可以使用==运算符查找等于S2的桩号值。然后使用逻辑索引选择包含来自站点S2的数据的表行。

TF = (T.Stations == 'S2');
T(TF,:)

输出的结果:

相关文章:

  • 虹科方案 | 虹科ATTO加速虚拟存储管理
  • 计算机毕业设计选什么题目好?springboot智慧养老中心管理系统
  • 云原生周刊:Docker 推出 Docker Debug | 2023.10.9
  • 高级深入--day30
  • web 基础和http 协议
  • CentOS 7 服务器上创建新用户及设置用户密码有效期
  • 四.镜头知识之放大倍率
  • 2023年全球及中国光伏硅片行业产量、市场竞争格局及趋势分析[图]
  • mac(M1)卸载miniconda3
  • Maven Eclipse
  • el-table合计行合并
  • 多线程并发篇---第五篇
  • 3.3 数据定义
  • 深度学习简述
  • 进阶JAVA篇-StringBuilder类与StringBuffer类的常用API(二)
  • 正则表达式——^的两种用法
  • MacOS Pro笔记本硬盘升级纪实
  • Flink-SQL join 优化 -- MiniBatch + local-global
  • 如何在 Spring Boot 中实现容错机制
  • 【原创】ubuntu18修改IP地址
  • 西甲上海足球学院揭幕,用“足球方法论”试水中国青训
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • AI药企英矽智能第三次递表港交所:去年亏损超1700万美元,收入多数来自对外授权
  • 复旦大学文科杰出教授裘锡圭逝世,享年90岁
  • 老铺黄金拟配售募资近27亿港元,用于门店拓展扩建及补充流动资金等
  • 巴基斯坦信德省卡拉奇发生爆炸