加载样本数据并创建表

从 patients MAT 文件加载样本数据数组。显示加载到工作区中的变量的名称和大小。

load patients

whos -file patients

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

创建两个表。用通过患者问卷收集来的信息创建一个表 T,再用测量患者得来的数据创建另一个表 T2。每个表有 100 行。

T = table(Age,Gender,Smoker);

T2 = table(Height,Weight,Systolic,Diastolic);

显示每个表的前五行。

head(T,5)

ans=5×3 table

Age Gender Smoker

___ __________ ______

38 {'Male' } true

43 {'Male' } false

38 {'Female'} false

40 {'Female'} false

49 {'Female'} false

head(T2,5)

ans=5×4 table

Height Weight Systolic Diastolic

______ ______ ________ _________

71 176 124 93

69 163 109 77

64 131 125 83

67 133 117 75

64 119 122 80

串联添加来自另一个表的变量

通过将表 T 与 T2 水平串联来向前者添加变量。

T = [T T2];

显示 T 的前五行。

head(T,5)

ans=5×7 table

Age Gender Smoker Height Weight Systolic Diastolic

___ __________ ______ ______ ______ ________ _________

38 {'Male' } true 71 176 124 93

43 {'Male' } false 69 163 109 77

38 {'Female'} false 64 131 125 83

40 {'Female'} false 67 133 117 75

49 {'Female'} false 64 119 122 80

表 T 现在包含 7 个变量和 100 行。

如果您要以水平方式串联的表具有行名称,则 horzcat 将通过匹配行名称来串联表。因此,这些表必须使用相同的行名称,但列顺序无关紧要。

将变量从工作区添加到表中

将来自工作区变量 LastName 的患者姓名添加到 T 中的第一个表变量之前。您可以使用新位置附近的变量的名称在表中指定任何位置。使用引号来引用表变量的名称。但是,如果输入参数是工作区变量,则不要对其使用引号。

T = addvars(T,LastName,'Before','Age');

head(T,5)

ans=5×8 table

LastName Age Gender Smoker Height Weight Systolic Diastolic

____________ ___ __________ ______ ______ ______ ________ _________

{'Smith' } 38 {'Male' } true 71 176 124 93

{'Johnson' } 43 {'Male' } false 69 163 109 77

{'Williams'} 38 {'Female'} false 64 131 125 83

{'Jones' } 40 {'Female'} false 67 133 117 75

{'Brown' } 49 {'Female'} false 64 119 122 80

您还可以使用数字指定表中的位置。例如,使用数字指定位置时,上述命令的等效语法为 T = addvars(T,LastName,'Before',1)。

使用圆点语法添加变量

添加新的表变量的另一种方法是使用圆点语法。当您使用圆点语法时,新变量始终添加为最后一个表变量。无论变量是什么数据类型,只要行数与表相同,就可以添加到表。

通过水平串联两个变量 Systolic 和 Diastolic 来创建一个针对血压的新变量。将它添加到 T。

T.BloodPressure = [Systolic Diastolic];

head(T,5)

ans=5×9 table

LastName Age Gender Smoker Height Weight Systolic Diastolic BloodPressure

____________ ___ __________ ______ ______ ______ ________ _________ _____________

{'Smith' } 38 {'Male' } true 71 176 124 93 124 93

{'Johnson' } 43 {'Male' } false 69 163 109 77 109 77

{'Williams'} 38 {'Female'} false 64 131 125 83 125 83

{'Jones' } 40 {'Female'} false 67 133 117 75 117 75

{'Brown' } 49 {'Female'} false 64 119 122 80 122 80

T 现在包含 9 个变量和 100 行。一个表变量可以有多个列。因此,虽然 BloodPressure 有两列,但它是一个表变量。

将一个新变量 BMI 添加到表 T 中,该表包含每位患者的体重指数。BMI 是一个关于身高和体重的函数。当您计算 BMI 时,您可以引用 T 中的 Weight 和 Height 变量。

T.BMI = (T.Weight*0.453592)./(T.Height*0.0254).^2;

计算 BMI 时使用的运算符 ./ 和 .^ 分别表示逐元素除法和乘方。

显示表 T 的前五行。

head(T,5)

ans=5×10 table

LastName Age Gender Smoker Height Weight Systolic Diastolic BloodPressure BMI

____________ ___ __________ ______ ______ ______ ________ _________ _____________ ______

{'Smith' } 38 {'Male' } true 71 176 124 93 124 93 24.547

{'Johnson' } 43 {'Male' } false 69 163 109 77 109 77 24.071

{'Williams'} 38 {'Female'} false 64 131 125 83 125 83 22.486

{'Jones' } 40 {'Female'} false 67 133 117 75 117 75 20.831

{'Brown' } 49 {'Female'} false 64 119 122 80 122 80 20.426

在表中移动变量

使用 movevars 函数移动表变量 BMI,使其位于变量 Weight 之后。当按名称指定表变量时,请使用引号。

T = movevars(T,'BMI','After','Weight');

head(T,5)

ans=5×10 table

LastName Age Gender Smoker Height Weight BMI Systolic Diastolic BloodPressure

____________ ___ __________ ______ ______ ______ ______ ________ _________ _____________

{'Smith' } 38 {'Male' } true 71 176 24.547 124 93 124 93

{'Johnson' } 43 {'Male' } false 69 163 24.071 109 77 109 77

{'Williams'} 38 {'Female'} false 64 131 22.486 125 83 125 83

{'Jones' } 40 {'Female'} false 67 133 20.831 117 75 117 75

{'Brown' } 49 {'Female'} false 64 119 20.426 122 80 122 80

您还可以使用数字指定表中的位置。例如,使用数字指定位置时,上述命令的等效语法为 T = movevars(T,'BMI,'After',6)。按名称引用变量通常更方便。

使用索引移动表变量

除上述方法外,您还可以通过索引来移动表变量。您可以对表进行索引,使用的语法与对矩阵进行索引相同。

将 BloodPressure 移动到 BMI 之后。

T = T(:,[1:7 10 8 9]);

head(T,5)

ans=5×10 table

LastName Age Gender Smoker Height Weight BMI BloodPressure Systolic Diastolic

____________ ___ __________ ______ ______ ______ ______ _____________ ________ _________

{'Smith' } 38 {'Male' } true 71 176 24.547 124 93 124 93

{'Johnson' } 43 {'Male' } false 69 163 24.071 109 77 109 77

{'Williams'} 38 {'Female'} false 64 131 22.486 125 83 125 83

{'Jones' } 40 {'Female'} false 67 133 20.831 117 75 117 75

{'Brown' } 49 {'Female'} false 64 119 20.426 122 80 122 80

在包含多个变量的表中,使用 movevars 函数通常更方便。

删除变量

要删除表变量,请使用 removevars 函数。删除 Systolic 和 Diastolic 表变量。

T = removevars(T,{'Systolic','Diastolic'});

head(T,5)

ans=5×8 table

LastName Age Gender Smoker Height Weight BMI BloodPressure

____________ ___ __________ ______ ______ ______ ______ _____________

{'Smith' } 38 {'Male' } true 71 176 24.547 124 93

{'Johnson' } 43 {'Male' } false 69 163 24.071 109 77

{'Williams'} 38 {'Female'} false 64 131 22.486 125 83

{'Jones' } 40 {'Female'} false 67 133 20.831 117 75

{'Brown' } 49 {'Female'} false 64 119 20.426 122 80

使用圆点语法删除变量

您也可以使用圆点语法和空矩阵 [] 删除变量。从表中删除 Age 变量。

T.Age = [];

head(T,5)

ans=5×7 table

LastName Gender Smoker Height Weight BMI BloodPressure

____________ __________ ______ ______ ______ ______ _____________

{'Smith' } {'Male' } true 71 176 24.547 124 93

{'Johnson' } {'Male' } false 69 163 24.071 109 77

{'Williams'} {'Female'} false 64 131 22.486 125 83

{'Jones' } {'Female'} false 67 133 20.831 117 75

{'Brown' } {'Female'} false 64 119 20.426 122 80

使用索引删除变量

您还可以使用索引和空矩阵 [] 删除变量。从表中删除 Gender 变量。

T(:,'Gender') = [];

head(T,5)

ans=5×6 table

LastName Smoker Height Weight BMI BloodPressure

____________ ______ ______ ______ ______ _____________

{'Smith' } true 71 176 24.547 124 93

{'Johnson' } false 69 163 24.071 109 77

{'Williams'} false 64 131 22.486 125 83

{'Jones' } false 67 133 20.831 117 75

{'Brown' } false 64 119 20.426 122 80

拆分和合并表变量

要将多列表变量拆分为多个单列变量,请使用 splitvars 函数。将变量 BloodPressure 拆分为两个变量。

T = splitvars(T,'BloodPressure','NewVariableNames',{'Systolic','Diastolic'});

head(T,5)

ans=5×7 table

LastName Smoker Height Weight BMI Systolic Diastolic

____________ ______ ______ ______ ______ ________ _________

{'Smith' } true 71 176 24.547 124 93

{'Johnson' } false 69 163 24.071 109 77

{'Williams'} false 64 131 22.486 125 83

{'Jones' } false 67 133 20.831 117 75

{'Brown' } false 64 119 20.426 122 80

同样,您可以使用 mergevars 函数将多个相关的表变量组合在一个变量中。将 Systolic 和 Diastolic 重新组合为一个变量,并将其命名为 BP。

T = mergevars(T,{'Systolic','Diastolic'},'NewVariableName','BP');

head(T,5)

ans=5×6 table

LastName Smoker Height Weight BMI BP

____________ ______ ______ ______ ______ __________

{'Smith' } true 71 176 24.547 124 93

{'Johnson' } false 69 163 24.071 109 77

{'Williams'} false 64 131 22.486 125 83

{'Jones' } false 67 133 20.831 117 75

{'Brown' } false 64 119 20.426 122 80

调整行的方向使其变为变量

您可以使用 rows2vars 函数调整表或时间表中行的方向,使它们成为输出表中的变量。但是,如果该表具有多列变量,则必须先拆分它们,才能调用 rows2vars。

对 T 的行调整方向。指定 T 中患者的姓名是输出表中表变量的名称。T3 的第一个变量包含 T 的变量的名称。T3 的其余每个变量都包含来自 T 对应行的数据。

T = splitvars(T,'BP','NewVariableNames',{'Systolic','Diastolic'});

T3 = rows2vars(T,'VariableNamesSource','LastName');

T3(:,1:5)

ans=6×5 table

OriginalVariableNames Smith Johnson Williams Jones

_____________________ ______ _______ ________ ______

{'Smoker' } 1 0 0 0

{'Height' } 71 69 64 67

{'Weight' } 176 163 131 133

{'BMI' } 24.547 24.071 22.486 20.831

{'Systolic' } 124 109 125 117

{'Diastolic'} 93 77 83 75

您可以对 T3 使用圆点语法,以数组形式访问患者数据。但是,如果输入表的行值不能串联,则输出表的变量是元胞数组。

T3.Smith

ans = 6×1

1.0000

71.0000

176.0000

24.5467

124.0000

93.0000

matlab怎么排列一群变量,添加、删除和重新排列表变量相关推荐

  1. MATLAB 基础知识 数据类型 表 添加、删除和重新排列表变量

    本文说明如何在表中添加.删除和重新排列列向变量.您可以使用 addvars.movevars 和 removevars 函数添加.移动和删除表变量.作为备选方法,您还可以使用圆点语法或对表进行索引来修 ...

  2. linux怎么查看系统环境变量路径,Linux系统中的环境变量该如何设置与查看

    今天小编要跟大家分享的文章是关于Linux系统中的环境变量该如何设置与查看.大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常 ...

  3. 织梦添加新变量和删除新变量的方法

    1.添加新变量 (1)织梦后台--系统--系统设置--系统基本参数--添加新变量,如下图: (2)打开"添加新变量"的输入框后,以添加站长QQ新变量为例,添加变量值如下图: 变量名 ...

  4. HADOOP实践101:在Hadoop集群中添加机器和删除机器

    无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个服务不中断. 本次操作之前,Hadoop的集群情况如下: HDFS的机器情况如下: MR的机器情况如下: 添加机器 在集群的Master机 ...

  5. 织梦添加图片变量_织梦添加新变量和删除新变量的方法

    在用织梦建站时,有时候想调用自定义的某些信息,而织梦后台没有调用这些信息的地方,例如站长邮箱.站长QQ等,这时我们就可以用织梦后台添加新变量的方法调用自定义信息.本文主要讲解一下织梦添加新变量和删除新 ...

  6. 含抽水蓄能电站系统的调峰经济调度研究matlab程序(粒子群算法)

    含抽水蓄能电站系统的调峰经济调度研究matlab程序(粒子群算法) 参考文献:抽水蓄能电站的最佳调度方案研究 调峰电源的优化调度是促进电力系统安全稳定运行,实现可靠供电的要措施.因为目前我国的调峰电源 ...

  7. Oracle RAC 添加删除节点

    百度搜索,会很多文章关于如何添加删除节点的,而且这个操作也没有什么很多的技术含量,但是自己测试过,记录一下,以备后续查询,同时也希望能给需要的朋友一些帮助. 环境介绍 环境为两个节点RAC:racno ...

  8. SQL语句添加删除修改字段

    用SQL语句添加删除修改字段 1.增加字段      alter table docdsp    add dspcode char(200) 2.删除字段      ALTER TABLE table ...

  9. 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等

    用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP CO ...

最新文章

  1. 终极大招——怎么在学术会议上有所收获?
  2. 无人配送的Nuro再融5亿美元,为啥中国复刻者们没它这么火
  3. 使用 Electron 从协议处理器启动应用程序
  4. java面试总结之一
  5. 【Linux系统编程】进程间通信--有名管道
  6. ncurses键盘管理:cbreak,keypad,getch(),KEY_F(),clrtoeol()
  7. 重庆曙光服务器虚拟化部署,VMware vCloud Director 安装部署教程
  8. php中svn上传项目直接访问不了,phpstorm8 通过svn导入项目后项目右键列表里没有subversion选项,无法提交和更新啊?...
  9. 矩池云上安装yolov5并测试
  10. 【风格迁移】Neural Style Transfer 神经风格迁移
  11. ubuntu系统安装qq教程(超简单,亲测成功)
  12. python批量检索文献_导师每天都让查文献,如何才能快速查找文献呢?
  13. java excel 透视_在Java中用Excel创建数据透视表和数据透视图
  14. 如何在Windows 10上压缩(和解压缩)文件
  15. 怎样取消开机硬盘自检?
  16. matplotlib 辅助线
  17. 对数正态分布均值和方差控制着正态分布什么
  18. 软考知识点梳理--项目评估
  19. DC-DC降压芯片是否有输入输出压差范围要求?
  20. 使用数组快速填充Excel

热门文章

  1. PostMan动态参数及循环调用
  2. 华为浮动路由和BFD配置
  3. 开源 (open source) 是什么?为什么要开源?
  4. IT6616 HDMI TO MIPI CSI/DSI,支持功能替换TC358743/LT6911C
  5. vue 实现 换一换 功能
  6. 机器学习 --- 核方法(Kernel Method)
  7. HDUOJ 4576 2013杭州邀请赛重现 Robot
  8. python timeit用法_python中的计时器timeit的使用方法
  9. 数据库与数据仓库有什么区别
  10. Windows系统工具MSG的使用,给局域网内的其他电脑发消息