| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> R语言数据结构——矩阵、数组、数据框 -> 正文阅读 |
|
[数据结构与算法]R语言数据结构——矩阵、数组、数据框 |
? ? 了解一门语言,首先要了解它的数据结构。该文主要介绍矩阵、数组和数据框。文章仅供学习使用,欢迎留言交流哦! 一、矩阵(matrix)1.1矩阵的创建:? ? 矩阵由指定的行(row)和列(column)构成,与高数中的矩阵相同。与之前提到的向量一样,矩阵只能储存同种类型的数据。 ? ? matrix(? ):创建矩阵
? ? 接下来使用该函数来创建一个3*3的矩阵: ? ? ? ??? ? ?? ? ? ?如图所示,这个由1~9组成的3*3矩阵,左边指定了行数未指定列数,右边指定了列数未指定行数,但所得矩阵相同,所以系统会自动识别并填充。上面两个矩阵都是按列填充矩阵,由于未设置byrow,所以采用默认值FALSE。下面来看一下当byrow为TRUE时,有何不同: ? ? 可以看出,byrow为TRUE时,矩阵对数据进行了按行填充。 ? ? 接下来介绍dimnames函数,为矩阵的行与列命令,第一个向量为行名,第二个向量为列名。
? ? 得到下图所示矩阵,与上述矩阵相比,[1,]等变成了x1,y1。 ? ? 对于已经创建好的向量,可以使用dimnames(),rownames(),colnames()为矩阵进行命名: ? ? 创建名为train1,train2的矩阵,train1用dimnames()进行命名,train2分别用rownames(),colnames()对行与列进行命名。
? ? ? ? ? ? ? ??? ? ? ? ? ?所得结果如上图。同时dimnames(),rownames(),colnames()还能获取矩阵的名称,使用dimnames获取train2的名称(其他两个大家可以自己尝试一下昂),结果如下图: ?1.2访问矩阵的数据:matrixname[ridx,cidx]:访问matrixname矩阵中ridx行cidx列的数据: ? ? 例如访问train1中的第二行第二列数据,为5。 ? ? ?也可以使用负数,效果与向量中使用负数相同,即输出除某列或某行的其他所有数据。例如输出train2中除第二行的所有数据。 ?1.3矩阵的运算:
? ? 这里就不演示了,大家可以自己尝试,如果有疑问可以评论交流(一般中午、晚上会看的,欢迎评论哦)。 二、数组(array)2.1数组的创建:? ? 数组与矩阵、向量不同,它可以存储不同数据类型的数据。而且数组是多维的,可以是2*3*4维的。创建数组使用array()函数:
? ? 接下来创建一个3*4的数组和一个2*3*2的数组作为示例:
? ? ?? ? ?? ? ? ?所得结果如上图,左图很容易看懂,不做过多解释。右图根据 y <- array(1:12,dim = c(2,3,2))所得,其中c(2,3,2)的最后一个数字是指右图中,,1和,,2,可以将其理解为层数,第一层由1,2,3,4,5,6构成,两行三列。 ?2.2访问数组的数据:? ? 与向量相同,使用X[xidx,yidx,zidx...nidx]访问数组数据: ? ? 访问y第二层中第二行第二列的数据,结果如下: ?三、数据框3.1数据框的创建:? ? 数据框类似于表格,例如上面矩阵运算中所展示的表格。可以使用data.frame()创建数据框
? ? 可能有点看不懂,没有关系,我们来看几个例子就可以了。创建一个名为名人的数据框:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 运行结果如上图,数据框会将你输入的数据按列排布,做出一个类似表格的形式。在数据框中也可以使用rownames(),colnames()等函数,下面以rownames做一个示例:?
? ? ?数据框的数据访问于上述差不多,大家可以自己尝试一下。如果遇到疑问或者报错,可以评论交流哦!看完记得点赞~ ? ? 2021.11.27随笔: 拥簇的人们在红枫下拍照,在凉秋的阳光倾洒下显得颇具意境。图书馆的座位在我醒来时就已经被预约完了,回到了曾经空旷的十教,倾斜的太阳将阳光照进教室,秋天也有温暖的时刻! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 16:15:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |