加载样本数据

加载从 100 位患者收集的样本数据。

load patients

whos

Name Size Bytes Class Attributes

Age 100x1 800 double

Diastolic 100x1 800 double

Gender 100x1 11412 cell

Height 100x1 800 double

LastName 100x1 11616 cell

Location 100x1 14208 cell

SelfAssessedHealthStatus 100x1 11540 cell

Smoker 100x1 100 logical

Systolic 100x1 800 double

Weight 100x1 800 double

基于字符向量元胞数组创建分类数组

Gender 和 Location 包含各类别中的数据。每个元胞数组都包含从一小组唯一值中获取的字符向量(分别表示两个性别和三个位置)。将 Gender 和 Location 转换为分类数组。

Gender = categorical(Gender);

Location = categorical(Location);

搜索单个类别的成员

对于分类数组,可以使用逻辑运算符 == 和 ~= 来查找属于或不属于特定类别的数据。

确定是否存在到 'Rampart General Hospital' 位置就医的任何患者。

any(Location=='Rampart General Hospital')

ans = logical

0

不存在到 Rampart General Hospital 就医的患者。

搜索一组类别的成员

您可以使用 ismember 查找一组特定类别中的数据。为到 County General Hospital 或 VA Hospital 就医的患者创建一个逻辑向量。

VA_CountyGenIndex = ...

ismember(Location,{'County General Hospital','VA Hospital'});

VA_CountyGenIndex 是一个 100x1 的逻辑数组,对于分类数组 Location 中属于 County General Hospital 或 VA Hospital 类别的成员的每个元素,该数组都会在其对应位置包含逻辑值 true (1)。输出 VA_CountyGenIndex 包含 76 个非零元素。

使用逻辑向量 VA_CountyGenIndex 选择在 County General Hospital 或 VA Hospital 就医的患者的 LastName。

VA_CountyGenPatients = LastName(VA_CountyGenIndex);

VA_CountyGenPatients 是一个 76×1 的字符向量元胞数组。

选择特定类别中的元素以绘图

使用 summary 函数可输出一份包含每一类别的类别名称及元素数的摘要。

summary(Location)

County General Hospital 39

St. Mary's Medical Center 24

VA Hospital 37

Location 是一个包含三个类别的 100×1 分类数组。County General Hospital 出现在 39 个元素中,St. Mary s Medical Center 出现在 24 个元素中,VA Hospital 出现在 37 个元素中。

使用 summary 函数输出 Gender 的摘要。

summary(Gender)

Female 53

Male 47

Gender 是一个包含两个类别的 100×1 分类数组。Female 出现在 53 个元素中,Male 出现在 47 个元素中。

使用逻辑运算符 == 仅访问女性患者的年龄。然后利用这些数据绘制一个直方图。

figure()

histogram(Age(Gender=='Female'))

title('Age of Female Patients')

histogram(Age(Gender=='Female')) 对 53 个女性患者的年龄数据绘图。

删除特定类别中的数据

您可以使用逻辑运算符包括或排除特定类别中的数据。删除工作区变量 Age 和 Location 中到 VA Hospital 就医的所有患者。

Age = Age(Location~='VA Hospital');

Location = Location(Location~='VA Hospital');

现在,Age 是一个 63×1 的数值数组,Location 是一个 63×1 的分类数组。

列出 Location 的类别以及每个类别中的元素数。

summary(Location)

County General Hospital 39

St. Mary's Medical Center 24

VA Hospital 0

到 VA Hospital 就医的患者已从 Location 中删除,但 VA Hospital 仍是一个类别。

使用 removecats 函数从 Location 的类别中删除 VA Hospital。

Location = removecats(Location,'VA Hospital');

验证 VA Hospital 类别是否已删除。

categories(Location)

ans = 2x1 cell

{'County General Hospital' }

{'St. Mary's Medical Center'}

Location 是一个包含两个类别的 63×1 分类数组。

删除元素

您可以按索引删除元素。例如,您可以通过使用 Location(2:end) 选择其余元素来删除 Location 的第一个元素。不过,更简单的元素删除方式是使用 []。

Location(1) = [];

summary(Location)

County General Hospital 38

St. Mary's Medical Center 24

Location 是一个包含两个类别的 62×1 分类数组。删除第一个元素对同一类别中的其他元素没有任何影响,并且不会删除该类别本身。

检查未定义的数据

从 Location 中删除类别 County General Hospital。

Location = removecats(Location,'County General Hospital');

显示分类数组 Location 的前八个元素。

Location(1:8)

ans = 8x1 categorical

St. Mary's Medical Center

St. Mary's Medical Center

St. Mary's Medical Center

St. Mary's Medical Center

St. Mary's Medical Center

删除 County General Hospital 类别后,先前属于该类别的元素不再属于为 Location 定义的任何类别。分类数组将这些元素表示为 undefined。

使用 isundefined 函数可查找被测数据中不属于任何类别的值。

undefinedIndex = isundefined(Location);

undefinedIndex 是一个 62×1 的分类数组,其中与 Location 中所有未定义元素相对应的位置均包含逻辑值 true (1)。

设置未定义的元素

使用 summary 函数输出 Location 中未定义的元素数量。

summary(Location)

St. Mary's Medical Center 24

38

Location 的第一个元素属于 St. Mary's Medical Center 类别。将第一个元素设置为 undefined,使其不再属于任何类别。

Location(1) = '';

summary(Location)

St. Mary's Medical Center 23

39

您可以将选定元素设置为 undefined 而不删除类别或更改其他元素的类别。将元素设置为 undefined 以指示包含未知值的元素。

预分配包含未定义元素的分类数组

您可以使用未定义的元素预分配分类数组的大小,以提高性能。创建一个分类数组,其中包含仅具有已知位置的元素。

definedIndex = ~isundefined(Location);

newLocation = Location(definedIndex);

summary(newLocation)

St. Mary's Medical Center 23

扩展 newLocation 的大小,使其成为一个 200×1 的分类数组。将上一新元素设置为 undefined。所有其他新元素也会设置为 undefined。23 个原始元素将保留它们已有的值。

newLocation(200) = '';

summary(newLocation)

St. Mary's Medical Center 23

177

newLocation 可为您计划以后存储到数组中的值留出空间。

matlab访问数组的元素,使用分类数组访问数据相关推荐

  1. python读取一行数组_python 把文件中的每一行以数组的元素放入数组中的方法

    有时候需要把文件中的数据放入到数组中,这里提供了一种方法,可以根据文件结尾的标记进行数据拆分,然后再把拆分的文件放入数组中 # -*-coding: utf-8 -*- f = open(" ...

  2. java 数组内元素相乘,java数组元素如何进行加减乘除,请大侠咪赐教!!

    java数组元素如何进行加减乘除,请大侠咪赐教!! 关注:115  答案:4  mip版 解决时间 2021-02-03 18:36 提问者一段小時光 2021-02-02 20:53 String[ ...

  3. 如何给6个整数的一维数组某个元素赋值_数组指针详解

    文章部分资料来源: Pointer to an Array | Array Pointer - GeeksforGeeks​www.geeksforgeeks.org 介绍数组指针之前,先来回顾指针: ...

  4. ios 替换数组中元素_ios可变数组的所有操作

    #pragma mark 创建数组c NSMutableArray * array =[[NSMutableArray alloc] initWithObjects:@"a",@& ...

  5. 求一个二维数组外围元素之和_C++数组作为函数的参数(学习笔记:第6章 04)...

    数组作为函数的参数[1] 数组元素作实参,与单个变量一样. 数组名作参数,形.实参数都应是数组名(实质上是地址,关于地址详见后续章节),类型要一样,传送的是数组首地址.对形参数组的改变会直接影响到实参 ...

  6. ios 替换数组中元素_IOS中数组方法

    NSArray 数组的创建 1.使用类方法创建 一个空的数组 + (id)array; 2.使用类方法创建 只有一个对象的数组 + (id)arrayWithObject:(id)anObject; ...

  7. python打印数组部分元素_Python打印输出数组中全部元素

    学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序. 因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用print命令或 ...

  8. php删除数组特定元素,PHP删除数组特定元素的实现方法

    这篇文章主要为大家详细介绍了PHP删除数组特定元素的实现方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 方法一: 代码如下: /* 512笔记 w ...

  9. java数组删除元素_java删除数组中的某一个元素的方法

    下面小编就为大家带来一篇java删除数组中的某一个元素的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 实例如下: package org.company.proj ...

最新文章

  1. android gravity和layout_gravity区别
  2. java vs .net
  3. Oracle --存储过程,输入不定个数参数
  4. 使用iPhone相机和OpenCV来完成3D重建(第三部分)
  5. Error running ‘xxx‘: Command line is too long. Shorten command line for xxx or also for Spring Boot
  6. Git 原理详解及实用指南
  7. solaris linux nfs,solaris 10 nfs服务配置
  8. scala 学习笔记--集合
  9. 09-新闻发布系统数据库-管理角色数据操作
  10. 数据出境需“安检”,怎样才能合法合规
  11. MacPro 迁移至 Mac Mini-M1 与 踩坑 For 后端开发
  12. 局域网雨云蠕虫病毒的处理
  13. 《Accurate eye center localisation by means of gradients》论文阅读
  14. VB前传,从教学到游戏,再到系统,似乎每步都是精心设计
  15. 【USACO 2020 January Silver】Loan Repayment 题解
  16. springboot基于Java的电影院售票与管理系统毕业设计源码011449
  17. Day3-T31项目 异常处理与日志——2021-11-02
  18. PAT1087 有多少不同的值 (20 分)(C语言)
  19. matlab对经济指标分析,财政收入预测与分析MATLAB
  20. 港科夜闻|香港科技大学(广州)功能枢纽微电子学域署理主任须江教授获评IEEE计算机协会首批杰出贡献者...

热门文章

  1. 了解这3点,你也能成为出色的Java工程师!
  2. android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
  3. 区块链 facebook_最新数据上区块链资讯,以及研究报告
  4. python助教的面试题_六个Python经典面试题(附详解)
  5. python数据分析实战:数据可视化的一些基本操作
  6. 电气论文:梯级水电站调度优化建模(文末有程序下载链接)
  7. VTK:图表用法实战
  8. wxWidgets:Sizer 概览
  9. boost::base_from_member相关的测试程序
  10. boost::mpl模块实现arithmetic相关的测试程序