分类数组

分类数组是定性数据数组,其值取自离散、非数值数据组成的有限集。

1    创建分类数组         修改分类数组

S=categorical({' 大';'小';‘中’;'小';‘大’})

S =

5×1 categorical 数组

大 
     小 
     中 
     小 
     大

categories(S)  显示类别

ans =

3×1 cell 数组

{'中'}
    {'大'}
    {'小'}

//对数组中唯一区别的字给显示出来

使用值和值标签创建

A=[1 3;3 2;4 5]      矩阵

A =

1     3
     3     2
     4     5

values=[1:3];;

//从一到3       定义这里面的值1 2 3

catnames={'少年','青年','中年'}      //1 2 3对应的标签或者说分类名称

catnames =

1×3 cell 数组

{'少年'}    {'青年'}    {'中年'}

B=categorical(A,values,catnames)

用categorical函数创建分类数组

就把数值矩阵里的123用分类的名称代替了

B =

3×2 categorical 数组

少年             中年        
     中年             青年        
     <undefined>      <undefined>

//由于4,5没有定义,所有就会显示undefined

改为:values=[1:5];;

catnames={'少年','青年','中年','老年','升仙'}   //一,一对应关系

使用iscategorical函数来确认输入是否为分类数组

iscategorical(B)

ans =

logical

1

1  是   0  不是

2   修改分类数组

1)添加类别(末尾,指定位置或者前后)

categories(S)

添加末尾分类

B=addcats(S,{'很大','微小'});

categories(B)

指定位置

首先创建一个分类数组

A=categorical({'m'  '1'  ;'s'  'x1';  '1'   'm'},{'s'  'm'  '1'   'x1'})

//前半部分为分类数组的内容3*2矩阵

//后面是指定一个排序分类名称

A =

3×2 categorical 数组

m      1  
     s      x1 
     1      m

B=addcats(A,'xs','Before','s');

B =

3×2 categorical 数组

m      1  
     s      x1 
     1      m

查看一下类别名称:

categories(B)

ans =

5×1 cell 数组

{'xs'}
    {'s' }
    {'m' }
    {'1' }
    {'x1'}

2  )改变原有重新设置新的类别

重新创建一个分类数组

A=categorical({'日用品','生鲜','熟食';'熟食','日用品','生鲜'})

A =

2×3 categorical 数组

日用平      生鲜       熟食 
     熟食       日用平      生鲜

B=setcats(A,{'日用品',‘生鲜’,'粮油'})

B(1,3)='粮油';

B(2,1)='粮油'

B

3 ) 合并类别

创建分类数组

A=categorical({'red';' blue';'pink ';' red ';'blue';'  pink'})

A =

6×1 categorical 数组

red 
     blue 
     pink 
     red 
     blue 
     pink

B=mergecats(A,{'red','pink'})             //将red和 pink 合拼成red

B =

6×1 categorical 数组

red 
     blue 
     red 
     red 
     blue 
     red

B=mergecats(A,{'red','pink','blue'})           //    将pink,blue合并成red

B =

6×1 categorical 数组

red 
     red 
     red 
     red 
     red 
     red

...........以此类推

也可以指定新名称

B=mergecats(A,{'red','pink'},'红色')

B =

6×1 categorical 数组

红色 
     blue 
     红色 
     红色 
     blue 
     红色

4  )删除类别

删除(没有使用的类别 或者 指定的类别)

创建分类数组

1

A=categorica({'red';' blue';'pink ';' red ';'blue';'  pink'},{'red','blue','pink','white',})

A =

6×1 categorical 数组

red 
     blue 
     pink 
     red 
     blue 
     pink

>> categories(A)

ans =

4×1 cell 数组

{'red'  }
    {'blue' }
    {'pink' }
    {'white'}

2

A=categorical({'red';'blue';'pink';'red';'blue';'pink'},{'red','blue','pink','white',})

A =

6×1 categorical 数组

red 
     blue 
     pink 
     red 
     blue 
     pink

>> B=removecats(A)

B =

6×1 categorical 数组

red 
     blue 
     pink 
     red 
     blue 
     pink

>> categories(B)

ans =

3×1 cell 数组

{'red' }
    {'blue'}
    {'pink'}

3

A=categorical({'red';'blue';'pink';'red';'blue';'pink'},{'red','blue','pink'})

A =

6×1 categorical 数组

red 
     blue 
     pink 
     red 
     blue 
     pink

>> B=removecats(A)

B =

6×1 categorical 数组

red 
     blue 
     pink 
     red 
     blue 
     pink

>> categories(B)

ans =

3×1 cell 数组

{'red' }
    {'blue'}
    {'pink'}

说明: B=removecats(A)   值用于消除多余的分类类别名称

B=removecats(A,'pink')   把pink删掉

B =

6×1 categorical 数组

red 
     blue 
     <undefined> 
     red 
     blue 
     <undefined>

-分类数组-创建//修改(添加/改变原有/合并/删除)分类数组(categorical)相关推荐

  1. vue删除数组中的一条数据_删除排序数组中的重复项 II

    删除排序数组中的重复项 II题目 给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改 ...

  2. java中对数组中文件名排序_leetcode第八天删除排序数组中的重复项

    给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成. ...

  3. 记一次行云数据库(CirroData) 分区 创建/修改/添加数据等

    1. 需求: 公司用到了行云数据库(国产库),属实有点哪个. 因为数据量太大,需要进行优化,这里采用的是数据库分区来优化. 2. 分区概念: 数据分区是一种物理数据库的设计技术,它的目的是为了在特定的 ...

  4. ASP.NET购物车Cookie获取,创建,添加,更新,删除的用法

    #region 添加购物车 public void GetShoppingCart(int skuId, int quanlity) { HttpCookie cookie = HttpContext ...

  5. php数组foreach循环添加键值对_php 给数组增加键值对

    php给数组增加键值对的方法:首先创建一个PHP示例文件:然后使用foreach语句为数组增加键值对即可,其语句如"foreach ($a as &$item) {$item['b' ...

  6. JS节点操作小结(创建节点,添加节点,获取节点,删除节点,复制节点)

    一,创建节点 document.createElement('li'),//创建一个节点 二,添加节点 insertBefore(要添加的节点, 添加在哪个节点之前) 在指定节点前面添加 三,获取节点 ...

  7. 微信小程序向原数组添加数组 前增加、后增加、删除、数组转字符串、字符串转数组

    this.data.list 是原来的数组: newarray 要添加的数据: concat() 向原数组追加方法: 数组开头追加 this.setData({list: newarray.conca ...

  8. php如何删除单个数组,如何在php中使用array_splice删除单个数组成员?

    我想我可能无法正确理解array_splice应该如何工作.我的理解是第一个参数是你的初始数组,第二个参数是要开始的元素,第三个参数是要删除/替换的元素的长度或数量. 所以,我有这个数组(print_ ...

  9. java二维数组的创建,java二维数组创建方法

    java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...

最新文章

  1. 在CentOS 6.8 x86_64的nginx 1.10.3上开启http2功能
  2. php.ini配置文件详解
  3. 语音技术正在改变计算行业
  4. 刚评上院士的马斯克就飘了,说要每天发射三次大火箭,向火星转移100万吨物资...
  5. JAVA揭竿而起总要有名号
  6. java设计模式之设计原则②依赖倒置原则
  7. 3DTouch - iOS新特性
  8. Kubernetes学习总结(11)—— Kubernetes Pod 到底是什么?
  9. eclipse各个版本下载
  10. emblog博客打开显示 数据库密码错误,请返回主页的解决办法!
  11. 几款超好看的英文字体
  12. 华为eSight网络监控平台配置短信功能说明
  13. python单机考试答题系统如何制作_在线答题系统是如何创建试卷的?
  14. Android7.0手机运行谷歌daydream的方法
  15. 关于sysmon的基本使用(1)
  16. redis中 Could not get a resource from the pool 异常解决
  17. 亚马逊经济:从仓库到庞大的零售帝国
  18. 哇喔!微信可以改彩色昵称了!!!
  19. 快过年了,Python实现12306查票以及自动购票....
  20. 最全的Go资料汇总和最走心的学Go建议

热门文章

  1. 高通宣称其语音识别系统准确率高达95%
  2. FFmpeg源代码简单分析:libavdevice的avdevice_register_all()
  3. 华为摄像头搜索软件_华为Mate 40 Pro评测:硬件和软件表现都近乎完美
  4. python实现dos攻击_python 实现DoS攻击
  5. java安卓模拟器和电脑通信_Android 模拟器(JAVA)与C++ socket 通讯 分享
  6. python发送soap报文_python用http发送soap报文进行webservice接口调用
  7. javaee安装_JDK下载安装与环境变量配置【超详细】
  8. webworker应用场景_初始WebWorker
  9. 2021下半年ICPC各类赛事时间日程
  10. 【codevs2627】村村通