R语言的数据结构-矩阵

【图书推荐】《R语言医学数据分析实践》-CSDN博客

《R语言医学数据分析实践 李丹 宋立桓 蔡伟祺 清华大学出版社9787302673484》【摘要 书评 试读】- 京东图书 (jd.com)

R语言医学数据分析实践-R语言的数据结构-CSDN博客

矩阵是一个二维数组,矩阵中的元素都具有相同的类型(数值型、字符型或逻辑型)。矩阵是一种特殊的向量,包含两个附加的属性:行数和列数。矩阵中每一行代表一条记录,而每一列代表一个属性。在医学应用中,矩阵广泛用于存储和处理医学数据,如实验数据、影像数据、生物标记物数据等。矩阵用matrix函数定义,根据保存的行数和列数对应到矩阵的元素,定义的格式如下:

matrix(
  data  #要创建矩阵的数据,一般为向量
  nrow  #行数
  ncol  #列数
  byrow = TRUE  	#若为TRUE,则按行填充矩阵;若为FALSE,则按列填充矩阵
  dimnames  		#用于指定行和列的名称,默认为NULL
)

matrix()函数把矩阵元素以一个向量的形式输入,用nrow和ncol规定行数和列数。默认情况下,向量元素填入矩阵的默认次序是按列填入。使用参数byrow=TRUE可以转换成按行填入。dimnames函数的第一个向量为行名,第二个向量为列名。

创建矩阵的R代码如下:

patient_height <- c(165, 172, 180)  	#创建身高向量
patient_weight <- c(60, 70, 75)     	#创建体重向量
patient_matrix <- matrix(c(patient_height, patient_weight), 
                         nrow = 3, ncol = 2, byrow = TRUE, 
                         dimnames = list(c("Patient1", "Patient2", "Patient3"),
                                         c("Height", "Weight"))) #创建三行二列的矩阵
patient_matrix    #查看创建的矩阵

代码运行结果如图2-3所示,成功创建了一个包含3个病人身高和体重数据的矩阵。

​图2-3

当我们完成矩阵的创建后,如何查看矩阵的属性呢?可以使用class()函数查看数据结果类型,使用typeof()函数查看数据元素类型。矩阵有一个dim属性,内容是一个包含两个元素的向量,分别为矩阵的行数和列数。dim属性可以使用dim()函数访问,而查看数据元素个数则使用length()函数。

除了查看矩阵的属性之外,还可以对矩阵的元素进行修改。访问矩阵元素有两种方式:按索引访问和按名称访问。按索引访问需提供行和列对应的索引,以获取对应位置元素的值。比如想查看第二列第二行的内容,可以使用“patient_matrix[2,2]”来获得。此外,还能通过名称访问,比如“patient_matrix["Patient2","Weight"]”,这将得到相同的结果。

查看矩阵属性和修改矩阵元素的R代码如下:

class(patient_matrix)   	#查看数据结果类型
typeof(patient_matrix)  	#查看数据元素类型
dim(patient_matrix)     		#查看数据维度
length(patient_matrix)  	#查看数据元素个数
patient_matrix[2,2]     		#查看第二列第二行内容
patient_matrix["Patient2","Weight"]
patient_matrix[2,2]<-65  	#修改第二列第二行内容
patient_matrix

代码运行结果如图2-4所示。

图2-4

使用colnames()函数可以给矩阵中的每列命名,使用rownames()函数可以给矩阵中的每行命名。给矩阵的行和列命名后,可以用名称代替数字索引,R代码如下:

###按数字索引访问矩阵 ###
mat_a = matrix(11:16, nrow=3, ncol=2, TRUE) #按行创建一个3×2的矩阵mat_a
print(mat_a)
###按名称访问矩阵 ###
colnames(mat_a) = c('c1', 'c2')	 		#给mat_a的每一列取名
rownames(mat_a) = c('r1', 'r2', 'r3') 	#给mat_a的每一行取名
print(mat_a)

代码运行结果如图2-5所示。

图2-5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/936436.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot+javafx使用aop切面导致的fx:id不能被注入问题

记录一个我遇到得问题 问题描述 我本来使用AOP切面来进行全局异常管理&#xff0c;但是使用AOP之后fxml中通过fx:id绑定得参数无法被注入 Slf4j Component Aspect public class GlobalExceptionAspect {AfterThrowing(pointcut "execution(* com.shkj.videoclassifica…

STM32 HAL库 + LM2904运算放大器 + ADC + 4-20ma液位传感器:电路设计及代码实现

4-20ma液位传感器在工业自动化和日常应用中非常常见&#xff0c;例如水位监测、液体储罐管理等。本文将结合STM32 HAL库&#xff0c;带你实现一个简单的液位监测demo&#xff0c;从电路设计到代码实现&#xff0c;实现通过单通道ADC采集4-20ma液位传感器的信号&#xff0c;并通…

MongoDB-固定集合(Capped Collection)

在 MongoDB 中&#xff0c;固定集合&#xff08;Capped Collection&#xff09;是一种具有特殊属性的集合。固定集合具有一个固定的最大大小&#xff0c;并且一旦达到该大小时&#xff0c;最早插入的文档将会被自动删除&#xff0c;以便为新的文档腾出空间。固定集合的这种特性…

Vue2 基础

Vue 2 是 Vue.js 的第二个主要版本&#xff0c;于 2016 年发布。它是一个渐进式的 JavaScript 框架&#xff0c;以其简单、灵活、易用性高而广受欢迎。Vue 2 主要专注于构建用户界面&#xff08;UI&#xff09;&#xff0c;并且非常适合用于构建单页应用&#xff08;SPA&#x…

2450.学习周刊-2024年50周

封面 人生五个球 ✍优秀博文 面对老板安排的工作&#xff0c;事事有回应&#xff0c;有必要吗&#xff1f; 职场精英进阶手册&#xff1a;工作推进五原则&#xff0c;让你合理高效地利用时间 上个班而已&#xff0c;千万别畏手畏脚 理解了雷军说的SU7要守正出奇&#xff0…

基于Llamaindex的网页内容爬取实战

目的 本文不关注如何解析网页 html 元素和各种 python 爬虫技术&#xff0c;仅作为一种网页数据的预处理手段进行研究。Llamaindex 也并不是爬虫技术的集大成者&#xff0c;使用它是为了后续的存查一体化。 安装依赖 pip install llama-index-readers-web # pip install llam…

Excel拆分脚本

Excel拆分 工作表按行拆分为工作薄 工作表按行拆分为工作薄 打开要拆分的Excel文件&#xff0c;使用快捷键&#xff08;AltF11&#xff09;打开脚本界面&#xff0c;选择要拆分的sheet&#xff0c;打开Module&#xff0c;在Module中输入脚本代码&#xff0c;然后运行脚本 Su…

go语言zero项目通过Supervisor启动与停用的管理

为了让Go项目通过 Supervisor 启动与重启&#xff0c;您需要确保已经正确安装和配置了 Supervisor。接下来是详细的步骤来配置您的 Go 项目&#xff0c;使其可以通过 Supervisor 管理。 ### 配置 Go 项目 首先&#xff0c;确保您的 Go 项目可以编译成一个可执行文件&#xff…

【ABAP SAP】开发-BUG修补记录_采购申请打印时品名规格品牌为空

项目场景&#xff1a; TCODE:自开发程序ZMMF004 采购申请打印 问题描述 ZMMF004打印的时候&#xff0c;有的采购申请的品名、规格、品牌为空 原因分析&#xff1a; 1、首先我通过写SQL语句查底表来看这几条采购申请本身有无品名、规格、品牌 SQL语句如下&#xff0c;只需修…

汽车租赁系统数据库 E-R 图设计

文章目录 汽车租赁系统数据库 E-R 图设计一、实体&#xff08;Entities&#xff09;二、实体间关系&#xff08;Relationships&#xff09;三、数据表&#xff08;Tables&#xff09; 汽车租赁系统数据库 E-R 图设计 一、实体&#xff08;Entities&#xff09; 用户&#xff0…

【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut、QT)第三期

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第二期3【小沐…

Vizcom:AI驱动的草图到3D设计革命

Vizcom是一家领先的AI技术公司,专注于为工业设计师提供工具,将手绘草图快速转化为可制造的3D模型,从而加速产品迭代和创新。 公司背景与愿景 成立于2021年的Vizcom由前Nvidia工业设计师Jordan Taylor创立。Taylor凭借其深厚的创意设计背景和技术敏锐度,看到了生成对抗网络…

【开源免费】基于SpringBoot+Vue.JS课程智能组卷系统(JAVA毕业设计)

本文项目编号 T 009 &#xff0c;文末自助获取源码 \color{red}{T009&#xff0c;文末自助获取源码} T009&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 老…

Linux常用指令-----下

Linux常用指令------上 Linux常用指令------中 Linux系列 文章目录 Linux系列前言一、more指令二、less指令三、head指令和tail指令四、grep指令五、zip指令和unzip指令六、tar指令1、打包压缩2. 预览3. 解压解包 前言 在上一篇博客中&#xff0c;我給大家介绍了cat指令&#…

【安全研究】某黑产网站后台滲透与逆向分析

文章目录 x01. 前言x02. 分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与…

【Linux SH脚本】LinuxCheck 应急检查信息脚本

LinuxCheck 1.下载地址 【Linux SH脚本】LinuxCheck 应急检查信息脚本 2.简介 LinuxCheck 是一个开源的自动化检查脚本&#xff0c;旨在快速检测 Linux 系统的安全配置和潜在问题。它支持多种发行版&#xff0c;能够扫描并生成详细的报告&#xff0c;涵盖用户管理、权限配置…

JaxaFx学习(一)

目录&#xff1a; &#xff08;1&#xff09;基本结构 &#xff08;2&#xff09;Application &#xff08;3&#xff09;Stage窗口显示 &#xff08;4&#xff09;Scene场景切换 &#xff08;5&#xff09;UI控件通用属性 &#xff08;6&#xff09;UI控件属性绑定很属性…

悬赏任务源码(悬赏发布web+APP+小程序)开发附源码

悬赏任务源码是指一个软件或网站的源代码&#xff0c;用于实现悬赏任务的功能。悬赏任务是指发布方提供一定的奖励&#xff0c;希望能够找到解决特定问题或完成特定任务的人。悬赏任务源码通常包括任务发布、任务接受、任务完成和奖励发放等功能的实现。搭建悬赏任务源码是一个…

Java集合操作中的包含性判断:深入探讨List.contains()方法

文章目录 Java集合操作中的包含性判断&#xff1a;深入探讨List.contains()方法问题分析与解答1. 为什么list.contains(filterValueList)返回false&#xff1f;2. 正确的实现方法方法一&#xff1a;使用containsAll()方法二&#xff1a;Stream流操作方法三&#xff1a;传统循环…

帆软的无数据展示方案

文章目录 需求描述第一步、设置控件第二步、设置数据集优化改进 在日常工作中&#xff0c;使用到帆软报表工具&#xff0c;以下记录日常使用的过程&#xff0c; 需求描述 用帆软报表展示销量的信息&#xff0c;选择不同的订单状态&#xff0c;展示其订单数和总金额。 第一步、…